硬盤再大,也架不住日誌文件多。
1、找到並清除30天前的所有日誌文件。
find / -name "*.log" -mtime +30 -exec rm -rvf {} \;
--mtime +30表示查找超過30天的,也就是查找30天前的文件。
如果不需要時間就去掉--mtime +30,將刪除所有日誌文件。
-mtime -n +n #按文件更改時間來查找文件,-n指n天以內,+n指n天以前
-atime -n +n #按文件訪問時間來查找文件,-n指n天以內,+n指n天以前
-ctime -n +n #按文件創建時間來查找文件,-n指n天以內,+n指n天以前
-mtime 0 表示文件修改時間距離當前爲0天的文件,即距離當前時間不到1天(24小時)以內的文件。 -mtime 1 表示文件修改時間距離當前爲1天的文件,即距離當前時間1天(24小時-48小時)的文件。 -mtime +1 表示文件修改時間爲大於1天的文件,即距離當前時間2天(48小時)之外的文件 -mtime -1 表示文件修改時間爲小於1天的文件,即距離當前時間1天(24小時)之內的文件
當然用此方法清理很久前的附件圖片腳本文件也可以。
2、用服務器定時任務清理log
clear_logs.sh
#!/bin/bash find / -name "*.log" -mtime +30 -exec rm -rf {} \;
執行,每天1點執行清理日誌
0 1 * * * /root/clear_logs.sh