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