1.刪除文件命令:linux
find 對應目錄 -mtime +天數 -name "文件名" -exec rm -rf {} \;shell
實例命令:vim
find /opt/soft/log/ -mtime +30 -name "*.log" -exec rm -rf {} \;bash
說明:spa
將/opt/soft/log/目錄下全部30天前帶".log"的文件刪除。具體參數說明以下:日誌
find:linux的查找命令,用戶查找指定條件的文件;crontab
/opt/soft/log/:想要進行清理的任意目錄;圖片
-mtime:標準語句寫法;開發
+30:查找30天前的文件,這裏用數字表明天數;get
"*.log":但願查找的數據類型,"*.jpg"表示查找擴展名爲jpg的全部文件,"*"表示查找全部文件,這個能夠靈活運用,觸類旁通;
-exec:固定寫法;
rm -rf:強制刪除文件,包括目錄;
{} \; :固定寫法,一對大括號+空格+\+;
2.1建立shell:
touch /home/admin/logs/bin/auto-del-30-days-ago-log.sh
chmod +x auto-del-30-days-ago-log.sh
2.2編輯shell腳本:
vim auto-del-30-days-ago-log.sh
編輯auto-del-30-days-ago-log.sh文件以下:(目錄結構爲舉例)
#!/bin/bash
find /日誌目錄/ -mtime +30 -name "*.log" -exec rm -rf {}\;
2.3計劃任務:
執行:crontab -e 命令,把下面內容之一,經過vim命令編輯保存退出
(每隔兩小時刪除日誌)
0 */2 * * * /home/admin/logs/bin/auto-del-30-days-ago-log.sh >/dev/null 2>&1
(每隔15分鐘刪除日誌)
15,30,45,59 * * * * /home/admin/logs/bin/auto-del-30-days-ago-log.sh >/dev/null 2>&1
2.4查看計劃任務是否運行:crontab -l
附:
基本格式 : * * * * * command
分 時 日 月 周 命令 命令
而後來幾個實際的例子:
一、每分鐘執行一次
* * * * *
二、每隔一小時執行一次
00 * * * *
或者
* */1 * * * (/表示頻率)
三、每小時的15和30分各執行一次
15,45 * * * * (,表示並列)
四、在天天上午 8- 11時中間每小時 15 ,45分各執行一次
15,45 8-11 * * * command (-表示範圍)
五、每一個星期一的上午8點到11點的第3和第15分鐘執行
3,15 8-11 * * 1 command
六、每隔兩天的上午8點到11點的第3和第15分鐘執行
3,15 8-11 */2 * * command
後續有不少開發填坑的文章發佈,若是對你有幫助,請支持和加關注一下