shell/linux定时清理日志文件

前几天遇到了这样情况,服务器上产生的日志太多了,占用了大量的磁盘空间,磁盘都快满了,这时造成了服务器异常
这样就需要我们时不时的清理日志文件
在这里我们就可以写脚本定时去清理

1.在脚本中写上这段

find 对应目录 -mtime +天数 -name "文件名" -exec rm -rf {} ;

例如:
find /usr/local/shelltest/loggs -mtime +30 -name "*.log" -exec rm -rf {} ;
下面来解释:
find: linux的查找命令,用户查找指定条件的文件
接下来是目录
-mtime与-name: find命令的参数,就是查找的条件
-mtime +30: 表示文件修改时间为大于30天的文件,即最后修改时间是30天前的文件
"*.log": 该目录下所有的.log
-exec: find命令的参数,表示前面查到的结果,后面要用到
exec参数是以;为结束标志,考虑到各个系统中分号会有不同的意义,所以前面加反斜杠
rm -rf {}表示删除文件
{} 代表前面find查找出来的文件名
看了楼上的介绍,应该很明白了
这里注意书写的时候注意空格及";"是英文标点

2.编写定时任务

#crontab -e
输入:
40 17 * * * /usr/local/shelltest/dellog.sh
表示每天17:40执行脚本
但是这里没有成功,检查发现脚本是没问题的,只有在设置定时任务的时候出问题了,什么问题暂时不知道
今天就这样,改天在来学习linux的crontab

 

原文地址:https://www.cnblogs.com/jaro/p/8809369.html