一、首先在自己的文件夹下新建一个shell脚本:
1、vi clearlog.sh
2、按i进入编辑模式,将一下内容放到clearog.sh 中:
/xxx/xxx/xxxx/21083.log表示的是日志的路径,awk '{print $1}是取的du -m 命令的第一个参数即文件的大小;
第二行是判断文件的大小是否大于某个值,-ge表示大于;
第五行是将日志文件置为空,> 文件名,将文件置为空;
第六行是将引号内的内容打印到clearlog.log日志文件中,为时间+文件大小
#!/bin/sh
FILE_SIZE=`du -m /xxx/xxx/xxxx/21083.log | awk '{print $1}'`
if [ $FILE_SIZE -ge 60000 ]
then
> /xxx/xxx/xxxx/21083.log
echo "----------`date \"+%G-%m-%d %H:%M:%S\"` file size=$FILE_SIZE clear----------">>/xxx/shell/log/clearlog.log
else
echo "----------`date \"+%G-%m-%d %H:%M:%S\"` file size=$FILE_SIZE not clear----------">>/xxx/shell/log/clearlog.log
fi
保存,退出,给该脚本可执行权限,chmod +x clearlog.sh,
3、新建日志文件 clearlog.log,保存该脚本打印的日志。
可以用sh clearlog.sh测试下。
shell脚本就编写完成了。
二、新建定时任务
1、输入crontab -e命令,进入编辑模式,编辑方式和vi命令的一样 ;
2、新增一行内容:0,30 07-23 * * * sh /xxx/shell/clearlog.sh >>/dev/null ,保存,退出,即可;不用重启;
表示每天的7点到晚上11点之间,每30分钟执行一次该脚本,>>/dev/null就是不打印日志
crontab -l 是查看所有的定时任务;