linux服务器清理指定日期所有垃圾日志文件
硬盘再大,也架不住日志文件多。
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