1、redhat(rhel),Centos,Linux删除文件命令
find /www/wwwlogs/ -mtime +30 -name "*.log" -exec rm -rf {} \;
删除/www/wwwlogs/ 目录下所有30天前以".log"结尾的文件
find:linux的查找命令,用户查找指定条件的文件;
/www/wwwlogs/:想要进行清理的日志文件目录;
-mtime:文件的修改时间(modify time);
+30:查找30天前的文件,这里用数字代表天数;
"*.log":希望查找的数据类型,可以是通配符,如"*.jpg"表示查找扩展名为jpg的所有文件,"*"表示查找所有文件。
-exec:执行后面的命令;
rm -rf:强制删除文件,包括目录和目录里的文件;
{} :接收find的结果;
\; : exec 结束需要使用\转义
2、创建Shell脚本文件 auto-del-30-days-ago-log.sh
touch /www/wwwlogs/auto-del-30-days-ago-log.sh #创建清理脚本文件 chmod +x /www/wwwlogs/auto-del-30-days-ago-log.sh #分配可运行权限 vi /www/wwwlogs/auto-del-30-days-ago-log.sh
auto-del-30-days-ago-log.sh 脚本内容:
#!/bin/sh find /www/wwwlogs/ -mtime +30 -name "*.log" -exec rm -rf {} \;
3、创建Crontab计划任务:
将auto-del-30-days-ago-log.sh执行脚本加入到系统计划任务,每天自动执行
crontab -e
插入以下内容:
10 03 * * * /www/wwwlogs/auto-del-30-days-ago-log.sh
设置每天凌晨03点10分执行auto-del-30-days-ago-log.sh文件,进行日志文件清理任务。