crontab计划任务

1 服务

crontab服务名叫crond,默认enable。

加载到crontab里的定时任务,crond服务会去执行。

异常:如果服务器内存过载,可能会杀掉crond,导致定时任务不执行。

2 日志

定时任务日志文件为/var/log/cron,logrotate服务会按周切割。最新日志存在/var/log/cron里面。

[root@xx log]# cat /etc/cron.daily/logrotate 
#!/bin/sh

/usr/sbin/logrotate /etc/logrotate.conf >/dev/null 2>&1
EXITVALUE=$?
if [ $EXITVALUE != 0 ]; then
    /usr/bin/logger -t logrotate "ALERT exited abnormally with [$EXITVALUE]"
fi
exit 0

 

[root@xx log]# ls /var/log/ | grep cron
cron
cron-20180603
cron-20180610
cron-20180617
cron-20180624

  

[root@webmaster scripts]# cat /var/log/cron | tail -3
Jul  5 10:01:01 webmaster run-parts(/etc/cron.hourly)[50121]: finished mcelog.cron
Jul  5 10:02:01 webmaster CROND[50133]: (root) CMD (cd /data/scripts;/usr/bin/python /data/scripts/uv_monitor.py 1>a1 2>b1)
Jul  5 10:10:01 webmaster CROND[50220]: (root) CMD (/usr/lib64/sa/sa1 1 1)
[root@webmaster scripts]# 

  

3 crontab 命令

crontab -l用于查看当前定时任务

crontab -e为编辑定时任务。保存退出后直接生效。

格式为* * * * * username command最好用全路径。

案例:每周一5点对/srv/salt/进行备份,按时间命名放在/bak/salt目录下。

[root@salt-server salt]# cat /scripts/salt_bak.sh 
#!/bin/sh
cp -a /srv/salt /bak/salt/salt-`date "+%Y%m%d"`
tar cvf /bak/salt/salt-20180303.tar /bak/salt/salt-20180303/
chmod +x /scripts/salt_bak.sh
crontab -e
>>
00 5 * * 1 root /scripts/salt_bak.sh

  

00 06 14 12 * killall -9 some_svr
#定个时间,12月14号早晨6点kill掉所有这个服务的进程

  

  

原文地址:https://www.cnblogs.com/jabbok/p/8495352.html