PALMisLIFE 討論區
標題:
[求助] 求助unix shell 定期刪除檔案的語法
[列印本頁]
作者:
bibibo
時間:
2005-11-14 15:22
標題:
[求助] 求助unix shell 定期刪除檔案的語法
不曉得站內有沒有人在unix上有開發的經驗, 想求助一下shell 的語法 B)
請教若用shell的方式, 要刪除某個路徑下6個月前的檔案(檔名的組成方式為yyyymmdd.log), shell command要如何寫? B)
作者:
阿輝
時間:
2005-11-14 15:36
標題:
Re: [求助] 求助unix shell 定期刪除檔案的語法
用 PHP 作 script 的話可以嗎... XDXD
作者:
double
時間:
2005-11-14 15:46
標題:
Re: [求助] 求助unix shell 定期刪除檔案的語法
我很久沒寫了,手邊現在也沒有Unix的機器做驗證。
不過我想你可以用find找出時間是六個月前的檔案,再redirect檔案名稱到rm即可。
作者:
IF
時間:
2005-11-14 15:49
標題:
Re: [求助] 求助unix shell 定期刪除檔案的語法
我剛寫了隻 java 的小程式,是在 Console 下刪特定路徑下的特定日期之前的檔案,。
你要不要拿去修改一下?
要改很簡單,也可以設定 Linux shell 定期執行該程式。
要的話就 PM 我,我傳 Source Code 給你囉..
作者:
barista
時間:
2005-11-14 16:11
標題:
Re: [求助] 求助unix shell 定期刪除檔案的語法
我也很久沒寫了,這是從機器 root 的 crontab 裡撿出來的。 ;-)
10 1 * * * (cd /tmp;find . ! -name . -type f -mtime +2 -print -exec rm -f {} \;) 1>/dev/null 2>&1
每天凌晨 1:10 把 /tmp 內超過兩天的舊檔砍掉,6 個月就改用 -mtime +180
其餘細節請用 man find 及 man crontab 查詢。
根據你檔案的 Naming Rule 也可以倒算日期依檔名來判斷,不過我想不會比較簡單。
PS:
如果你不用 crontab 那更簡單:
cd /tmp
find . ! -name . -type f -mtime +2 -print -exec rm -f {} \;
[
Last edited by barista on 2005-11-14 at 16:15
]
作者:
yuyudiabo
時間:
2005-11-14 16:36
標題:
Re: [求助] 求助unix shell 定期刪除檔案的語法
find /tmp -name "*.log" -mtime +180 -print -exec rm {} \;
基本上這樣就可以殺掉你要的東東了(附檔名.log and modify >180天), 要自動run 就放在crontab
怎麼放? 去man一下就知道了...
作者:
MelancholyLee
時間:
2005-11-14 16:59
標題:
Re: [求助] 求助unix shell 定期刪除檔案的語法
vi removeFile.sh
file content :
#!/usr/bin/ksh
find /tmp -name "*.log" -mtime +180 -print -exec rm {} \;
chmod 722 removeFile.sh
crontab -e
10 1 * * * /yourdir/removeFile.sh 1>/dev/null 2>&1
每天凌晨 1:10 會執行
bye the way, ksh -x removeFile.sh 可以看到此shell script 執行的結果..
作者:
bibibo
時間:
2005-11-14 21:37
標題:
Re: [求助] 求助unix shell 定期刪除檔案的語法
謝謝各位前輩
站內真是高手如雲
command搬過來改一改就work了
真的非常感謝
歡迎光臨 PALMisLIFE 討論區 (http://f.pil.tw/)
Powered by Discuz! X2.5