linux定时任务实现自动清理日志

一、下载安装定时控件

yum install vixie-cron 
yum install crontabs 

二、编写任务具体实现
例:硬盘占用超过40%则清理一次日志。
1、新建文件cron.sh和deletelog.txt
2、编辑命令:vi /home/cron.sh

e:!/bin/bash

echo `date`" :cron start...." >>/home/deletelog.txt
size=`df /dev/vda1  | awk -F '[ %]+' 'NR==2{print $5}'`
echo "clear before size :"$size >>/home/deletelog.txt

if [ $size -gt 40  ]
then

echo "" > /home/changeprice1/outlog/out.log
echo "" > /home/changeprice2/outlog/out.log
echo "" > /home/changeprice3/outlog/out.log
echo "" > /home/changeprice4/outlog/out.log
echo "" > /home/changeprice5/outlog/out.log
echo "" > /home/changeprice6/outlog/out.log
echo "" > /home/changeprice7/outlog/out.log
echo "" > /home/changeprice8/outlog/out.log
rm -rf /home/changeprice1/*-*.log
rm -rf /home/changeprice2/*-*.log
rm -rf /home/changeprice3/*-*.log
rm -rf /home/changeprice4/*-*.log
rm -rf /home/changeprice5/*-*.log
rm -rf /home/changeprice6/*-*.log
rm -rf /home/changeprice7/*-*.log
rm -rf /home/changeprice8/*-*.log
fi

nowdate=`date +%Y-%m-%d`

echo $nowdate + ":清理日志完成--------" >> /home/deletelog.txt
aftersize=`df /dev/vda1  | awk -F '[ %]+' 'NR==2{print $5}'`
echo "clear after size:"$aftersize >>/home/deletelog.txt
echo `date`" :cron end!!" >>/home/deletelog.txt

3、将cron.sh设为可执行文件

chmod 777 cron.sh

4、直接编辑/etc/crontab 文件
编辑cron表达式,定义cron.sh多久执行一次

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

*/1 * * * * root /home/cron.sh lumus nedp

5、启动服务
启动:

service crond start

状态:

service crond status 

重新载入配置:

service crond reload 

重启:

service crond restart

三、同理可实现其他任务。
如:jar定时重启。

你可能感兴趣的:(linux定时任务实现自动清理日志)