最近工作中遇到需要在linux下面定时删除日志文件。这个功能实现是用linux自带的crontab创建一个定时任务。由这个定时任务去定时执行我的shell脚本。新建任务命令如下:crontabl -e ?这个命令可以编辑任务文件。
00 02 * * * /home/admin/hjupprating/logs/deletelog.sh >>/home/admin/hjupprating/logs/record.txt 2>>&1
这是我新加的一条命令,他会定时执行deletelog.sh的脚本. >> 这个表示把过程中的标准输出和错误输出重定向到record.txt,后面的2和1分别表示错误输出流和标准备输出流。这样我就可以查看任务的执行日志了。
我的/deletelog.sh?内容如下:
echo "now time:"
date '+%D %T'
echo "start delete log.."
rm -rf /home/admin/hjupprating/logs/rating
mkdir /home/admin/hjupprating/logs/rating
echo "delete /home/admin/hjupprating/logs/rating 's log finish,start hj-upp-rating's log"
rm -rf /home/admin/hj-upp-rating/logs
mkdir /home/admin/hj-upp-rating/logs
echo "delete /home/admin/hj-upp-rating/logs 's long finish,start restart app.."
/home/admin/hj-upp-rating/bin/jbossctl restart
?
echo "restart finish. "
?
很 简单,就是删除日志文件然后重启机器
关于crontabl的详细介绍参考:http://blog.csdn.net/tianlesoftware/article/details/5315039