|
wanglp2000 回復于:2003-08-17 15:39:58
|
這些討論我覺得很......(滑稽用的多些)
這可是系統管理員最簡單的活了,難道這也叫難啊?
看來.........
|
itisok96 回復于:2003-08-17 16:42:09
|
強的說
|
yuwang007 回復于:2003-08-17 18:47:38
|
10 12 * * * find /tmp -size +1048576c -exec cp {} /save \;
我沒用過那種 find + , man里沒找到,可能沒仔細看
|
rocazj 回復于:2003-08-18 08:55:05
|
1、find . -size +200c -exec cp {} 1 \;
將所有大于200字節的文件拷貝到子目錄1下。
2、find . -size +26m -exec cp {} 1 \;
將所有大于26兆字節的文件拷貝到子目錄1下。
3、find . -size +1k -exec cp {} 1 \;
將所有大于1K字節的文件拷貝到子目錄1下。
|
houji 回復于:2003-08-18 11:03:12
|
rocazj 的方法很簡單,好使。
|
xiongshoufen 回復于:2003-08-18 13:37:40
|
我連看讀看不懂,好慘?。。?!
|
twlogin 回復于:2003-08-18 13:49:51
|
做一個系統管理員不懂shell是無法想象的
|
welbird 回復于:2003-08-18 14:12:24
|
又學了一招,嘿嘿
|
6liuy 回復于:2003-08-18 16:23:47
|
不錯,使用find命令
|
okwiner 回復于:2003-08-18 16:25:42
|
shell和編程是一回事么?用什么控制命令執行的邏輯?
|
llc107 回復于:2003-08-18 16:38:26
|
[quote:505116de8a="aerolite"]沒有這么復雜吧,這樣做就可以了
crontab -e
10 12 * * * find /tmp -size +1048576c -exec cp $ /save \;[/quote:505116de8a]
nice done!
|
JuGar 回復于:2003-08-18 23:41:21
|
find很好用的呀~~
|
寒帶魚 回復于:2003-08-20 22:20:56
|
xarg也可以撒
|
snaking 回復于:2003-08-24 13:19:27
|
收到
|
blazewater 回復于:2003-08-24 15:07:14
|
shell實際上是功能很強大的武器
不同的功能都可以實現同一個功能
所謂條條大陸通羅馬嘛
不要在這上面浪費口水了
還是多看看書吧
|
浦東本地人 回復于:2003-08-24 23:15:27
|
沒有想到那么菜!!!!
上次我應聘時還要現場寫個POSTSCRIPT的腳本呢,足有84行長.還必須用PERL和KSH寫兩個版本.
|
wanfei 回復于:2003-08-25 12:28:56
|
這個帖子不錯。應表揚
|
akai_feng 回復于:2003-08-25 13:38:46
|
說句老實話,好像這已經是熟練SA的最低要求了,不然,也不會出現在面試題中
good good study
day day up
|
ustcboy 回復于:2003-08-26 15:38:48
|
http://ustcboy.51.net/download/sa239.rar
http://ustcboy.51.net/download/sa299.rar
sa299不是教材/好像是做的幻燈片
希望對大家學習有幫助
|
tiaozao 回復于:2003-08-27 00:33:46
|
[quote:5a49ba9be2="rocazj"]1、find . -size +200c -exec cp {} 1 \;
將所有大于200字節的文件拷貝到子目錄1下。
2、find . -size +26m -exec cp {} 1 \;
將所有大于26兆字節的文件拷貝到子目錄1下。
3、find . -size +1k -exec cp {} ..........[/quote:5a49ba9be2]
有人試過這個方法么?
我試了,不可以
|
老同志lawson 回復于:2003-12-01 17:48:00
|
腳本如下:
#!/usr/bin/bash
cd /tmp
for file in `ls`
do
if [ -f $file ]
then
file2=`ls -al $file|awk '{print $5}'`
long=`expr 1024 \* 1024`
if [ "$file2" -gt "$long" ]
then
cp $file /save/
fi
else
continue
fi
done
cd ..
|
xyf721127 回復于:2005-02-14 00:15:58
|
看不懂啊,真是很著急!
|
Linux@初學者 回復于:2005-02-14 13:45:13
|
汗一下。
|
jndu 回復于:2005-02-14 14:15:15
|
1M=1048576c ?
怎么得出來的?
不應該是1024*1024*1024=1073741824 么?
|
bosshoss_cn 回復于:2005-02-14 16:22:56
|
我也問一下:
要求在/save目錄下自動生成以日期為名字的子目錄再COPY行否?
如何實現?
格式:YYYY-MM-DD
|
驍騎尉 回復于:2005-02-15 09:11:59
|
[quote:67bb23a78f="tiaozao"]
有人試過這個方法么?
我試了,不可以[/quote:67bb23a78f]
find . xxxx
這個表示find的操作是從當前目錄開始執行的。前面的題目要求是對/tmp目錄下的文件進行操作,所以要使用 find /tmp xxxx
|
samshi 回復于:2005-02-16 13:52:15
|
crontab -e
10 12 * * * find /tmp -size +1048576c -exec cp {} /save \;
|
maping 回復于:2005-02-16 17:46:03
|
上面說的我也好多看不懂,翻書找到下面內容,和大家共享!
Crontab 安排某個命令有規律地在特定的時間執行
語法:crontab filename
crontab options [user_name]
概述
crontab 命令允許用戶提交一個工作列表,這些工作是在用戶指定的時間運行。這些命令保存被稱為crontab 的文件中。名為cron的系統命令讀取crontab文件,并運行這些命令。如果在用戶的crontab文件的命令行中沒有進行輸出重定向,那么才采用標準和錯誤輸出。
參數
在第一種語法格式中,filename是包含crontab命令的一個文件名。如果用戶使用一個連字號作為文件名,crontab將從用戶鍵入的標準輸入中讀取數據;以CONTROL-D結束。
第二種語法格式中的user-name 能夠由超級用戶來指定,從而能為一個特別的用戶改變crontab文件。
選項
-e edit.在用戶的crontab文件上運行由EDITOR這個shell變量指定的文本編輯器,使得用戶可以進行添加,改變或者刪除文件的全部。在創建/編輯crontab之后,這個選項將安裝它。
-l list 顯示用戶的crontab文件的內容
-r remove 刪除用戶的crontab文件。
注意
每條crontab命令以5個空格風隔字段開始,指定了命令應該什么時候運行:
l 分鐘(0-59)
l 小時(0-23)
l 某月的一天(1-31)
l 某年的一月(1-12)
l 某星期的一天(0-6,0=Sunday)
星號代表所有可能的植。
示例
在下面的示例中,root用戶設定了一個由cron在沒個周六的早上2:05開始執行的命令,這些命令將新五天中系統中沒有被訪問到的core文件全部刪除。ROOT用戶從控制臺直接輸入命令。
# crontab
5 2 * * 6 /usr/bin/find / -name core –atime +5 –exec rm {} \;
CONTROL-D
紊亂在用戶的crontab 文件中增加一個條目,運行帶有-e選項的crontab命令。-l選項顯示了用戶crontab 文件的一個副本。
# crontab –l
5 2 * * 6 /usr/bin/find / -name core –atime +5 –exec rm {} \;
|
victor_hu 回復于:2005-02-17 14:42:12
|
crontab -e
0 12 * * * find /tmp -size +1048576c -exec cp -r {} /save \;
|
victor_hu 回復于:2005-02-17 14:57:20
|
試試下面的:
crontab -e
0 12 * * * find /tmp -size +1048576c -exec cp {} /save \;
|
freedemon 回復于:2005-02-17 15:36:23
|
[quote:f233a80069="aerolite"]沒有這么復雜吧,這樣做就可以了
crontab -e
10 12 * * * find /tmp -size +1048576c -exec cp $ /save \;[/quote:f233a80069]
不錯
思路正確
再嚴謹一點的話可以加上-type f,限定常規文件,避免一些可能發生的權限錯誤
find [PATH] -type f -size +******c -exec "......."\;
只要用find查找出對應目錄中常規file類型,大小大于(+)1024k的文件,使用find的exec參數調用命令就可以了。
幾個需要注意的細節:
1. -type f限定文件類型;
2. -size參數默認數值單位為block(長度512B的Block),如果要用字節作為單位,需要在最后加c,比如1024c,就代表1024Byte;+/-表示大于或小于,否則就代表精確相等;
3. 使用exec進行文件備份命令的執行;
4. 使用crontab定時調用find一條命令就可以了,根本不必寫腳本。
.
|
sun_boy 回復于:2005-02-17 15:55:02
|
發現自己很多東西學的還是不夠熟練!呵呵!
|
xxxxl 回復于:2005-02-18 10:11:13
|
在solaris下是這樣:
crontab -e
10 12 * * * find /tmp -type f -size +1048576c -exec cp {} /save \;
|
fywlily 回復于:2005-02-28 13:13:11
|
知道個意思,具體的寫估計一遍要寫錯
|
sbleo 回復于:2005-02-28 14:11:24
|
現場那么緊張估計寫個大概,面試官也不會太為難的,不過如果不知道怎么下手就要自我檢討一下了。
|
Crazy土匪 回復于:2005-03-29 21:08:39
|
能看懂,寫不出來。呵呵
|
nhzjoke 回復于:2005-03-29 23:31:51
|
[quote:eff51c2489="aerolite"]沒有這么復雜吧,這樣做就可以了
crontab -e
10 12 * * * find /tmp -size +1048576c -exec cp $ /save \;[/quote:eff51c2489]
樓上的是正解!
|