1、實例命令:
# find 對應目錄 -mtime +天數 -name "文件名" -exec rm -rf {} \; find /data/tomcat/logs/ -mtime +30 -name "*.log" -exec rm -rf {} \;
說明:
將/data/tomcat/logs/ 目錄下所有30天前帶”.log”的文件刪除。
2、計划任務(升級):
若嫌每次手動執行語句太麻煩,可以將這小語句寫到一個可執行shell腳本文件中,再設置cron調度執行,那就可以讓系統自動去清理相關文件。
2.1 創建shell:
新建一個可執行文件 auto-del-30-days-ago-log.sh 並分配可運行權限
touch /opt/auto-del-30-days-ago-log.sh chmod +x auto-del-30-days-ago-log.sh
2.2 編輯shell腳本(auto-del-30-days-ago-log.sh):
1、打開編輯器
vi auto-del-30-days-ago-log.sh
2、輸入以下內容
#!/bin/sh find /data/tomcat/logs/ -mtime +30 -name "*.log" -exec rm -rf {} \;
3、保存退出(:wq!)。
2.3 計划任務:
1、將auto-del-30-days-ago-log.sh執行腳本加入到系統計划任務
#crontab -e
2、設置是每天凌晨0點10分執行auto-del-30-days-ago-log.sh文件進行數據清理:
10 0 * * * /opt/auto-del-30-days-ago-log.sh >/dev/null 2>&1
2.4 啟動任務:重啟crond:
service crond restart
#centos7 請執行 systemctl restart crond
2.5 瞄一眼是否已經開始任務:
crontab -l
PS: 如果需要查看定時任務執行日志:
cat /var/log/cron
完成以上三步,媽媽再也不用擔心我的硬盤空間滿了,不用手動清理日志文件了