今天需要清理一下原來每日構建產生的一些用來存放包的目錄,這些目錄名字是按照一定規則存放,比如:
/dailybuild/[module_name]/[yyyy]-[MM]-[dd]/xxx
這裡考慮僅需要保存最近5天的dailybuild,對於早於5天的目錄執行刪除操作。
查看了一下find命令說明,可以
* 使用 “-type d” 參數來只查找目錄,忽略文件。
* 使用 “-mtime +5” 參數來指定只查找5天前有更改的目錄
其中 “-mtime -n/+n ” 是指按文件更改時間來查找文件,-n指n天以內,+n指n天以前
所以最終腳本內容大體如下:
#!/bin/sh
cd /dailybuild/
files=`find ./* -name "*-*-*" -type d -mtime +5 -print`
for file in $files
do
rm -rf $file
done