新建定时任务当日志文件过大时自动清空weblogic日志文件

一、首先在自己的文件夹下新建一个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 是查看所有的定时任务;

猜你喜欢

转载自blog.csdn.net/malz_zh/article/details/89498636