liunx下清理日志
一、find 对应目录 -mtime +天数 -name "文件名" -exec rm -rf {} \;
此处我以tomcat下 logs目录下日志为例做演示:
在清理之前我的tomcat日志是这样的
然后我执行该命令-->find /usr/local/tomcat/apache-tomcat-8.5.28/logs/ -mtime +10 -name "*.log" -exec rm -rf{} \;
这里要注意的是-name 空格 “*log”空格 -exec 空格 rm 空格 -rf 空格 {} 空格 \;-->格式一定要保持一致尤其是这个空格,如果你看到报错信息“ missing argument to ‘ -exec’”这样的就肯定是格式问题
命令执行完成之后是这样的
所有的".log"文件只保留了10天的内容
需要注意的是:
find:Linux查找命令,用户查找指定条件的文件
/usr/local/tomcat/apache-tomcat-8.5.28/logs/:需要进行清理的目标目录
-mtime:标准语句写法
+10 :数字代表天数标示只保留10天的日志
-name "*.log":目标文件的类型,带有log的所有文件
-exec:固定写法
rm -rf:强制删除包括目录在内的文件
{} \;:固定写法,一对大括号 空格 \ ;
二、设置定时任务
避免每次手动清空日志的麻烦,编辑一个定时任务自动清理就免去很多麻烦!
这里另外说一点在使用crontab命令的时候不存在时,需要安装crontab服务,请看我的另外一篇~~ Linux下安装crontab服务~yum安装;
1. 键入 crontab -e 编辑crontab服务文件
例如:*/2 * * * * /usr/local/tomcat/apache-tomcat-8.5.28/webapps/ROOT/WEB-INF/bin/auto-del-log.sh;
前面的 * 号解释如下图括号内是其取值范围,/代表每的意思,后面的路径就是你要执行的shell脚本文件;
至于怎么查看你的定时器有没有执行最直接的方法就是查看你的脚本文件要达到的目的有没有达到即可!!!