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

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天前的日志文件,以后就不用
担心磁盘空间会满了报警的情况了。

 

转载于:https://www.cnblogs.com/fengjunhua/p/8862147.html

你可能感兴趣的:(linux自动删除30天前的日志文件)