[問題] 請問Shell Script如何保留特定檔案?

看板Linux作者 (Orz)時間15年前 (2011/03/29 09:21), 編輯推噓1(103)
留言4則, 3人參與, 最新討論串1/2 (看更多)
我有一個shell script #!/bin/bash date="`date +%Y%m%d`" date1=$(date --date='1 days ago' +%Y%m%d) date2=$(date --date='2 days ago' +%Y%m%d) date3=$(date --date='3 days ago' +%Y%m%d) date4=$(date --date='4 days ago' +%Y%m%d) date5=$(date --date='5 days ago' +%Y%m%d) cd /home/ rm -rf "$date5" 原本是這樣寫的, 用意在於移除5天以前的資料夾 我每次產生資料夾都會直接以時間當資料夾名稱 如果機器每天都開著 使用crontab,當然可以移除5天前的資料夾. 如果中間隔了兩三天沒開機, 那麼只有第五天的資料夾會被清空,第六天前的資料夾都會存在. 請問,我這邊能夠怎麼修改會比較適合我這樣的想法? 以上述代碼所呈現, 僅希望保留date1~date4 (然後我會新增date的資料夾放今天的資料) date5之後的檔案都移除, 謝謝, -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.169.232.189

03/29 09:28, , 1F
先判斷超過的有幾筆,在用迴圈一一處理掉。
03/29 09:28, 1F

03/29 09:29, , 2F
用find -mtime判斷
03/29 09:29, 2F

03/29 10:20, , 3F
檔名既然用時間了,其實可改檔名,拿來排序,再刪掉
03/29 10:20, 3F

03/29 11:29, , 4F
可以呼叫 tmpreaper 之類的程式幫忙嘛?
03/29 11:29, 4F
文章代碼(AID): #1DaJGZ0V (Linux)
文章代碼(AID): #1DaJGZ0V (Linux)