linux自动删除30天前的日志文件

时间:2021-06-09 14:54:38
linux应用总结:
自动删除n天前的日志文件:
. 使用的命令格式如下: find 对应目录 -mtime +天数 -name "文件名" -exec -rm -rf find /opt/backup/log/ -mtime + -name "*.log" -exec rm -rf {} \; 语句语法说明:
find: linux下的查找命令,用于查找linux下指定的文件。
/opt/backup/log/: 想要查找的文件目录。
-mtime: 标准语句写法。
+: 表示查找30天之前的文件,这里用数字代表天数。
"*.log": 希望查找的数据类型,"*.log"表示扩展名为.log的所有文件,"*"表示所有文件,
"*.jpg"表示所有扩展名为.jpg的文件,这个可以灵活,运用,举一反三。
-exec: 固定写法
rm -rf : 强制删除文件,包括目录。
{} \; : 固定写法,一对大括号+空格+\+; .编写shell脚本:
vim /opt/shell/auto-del--days-ago-log.sh
#!/bin/sh
find /opt/backup/log/ -mtime + -name "*.log" -exec rm -rf {} \;
保存退出,并添加可执行权限:
chmod +x /opt/shell/auto-del--days-ago-log.sh .将脚本添加到计划任务:
将脚本/opt/shell/auto-del--days-ago-log.sh,添加到计划任务,计划每天的凌晨两点四十分执行
脚本文件:
vim /etc/crontab
* * * /opt/shell/auto-del--days-ago-log.sh >/dev/null >&
这样,我们就完成了一个计划任务,每天凌晨2点40分指定删除30天前的日志文件,以后就不用
担心磁盘空间会满了报警的情况了。