centos7 ubuntu crontab定时任务

时间:2022-06-30 08:08:23
写shell脚本,crontab 定时运行 更改时区后,应该重启

vi *.cron     编辑定时任务
crontab *.cron 添加定时任务
crontab -l  显示当前用户正在运行的定时任务

crontab -e   修改定时任务

crontab -r     删除定时任务


tail -f /var/log/cron  查看日志,可看执行情况

systemctl start crond.service 启动服务
systemctl stop crond.service 停止服务
systemctl restart crond.service 重启服务

systemctl status crond.service  查看状态


内容形如:

* * * * * 命令

对应:

分 时 日 月 周 命令


"*"代表所有的取值范围内的数字。特别要注意哦!

"/"代表每的意思,如"*/5"表示每5个单位

"-"代表从某个数字到某个数字

","分散的数字


例如:

* 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart
晚上11点到早上7点之间,每隔一小时重启apache


* */1 * * * /usr/local/etc/rc.d/lighttpd restart
每一小时重启apache


0 4 1 jan * /usr/local/etc/rc.d/lighttpd restart
一月一号的4点重启apache


45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每月1、10、22日的4 : 45重启apache。


以下为ubuntu下使用方案,基础操作与上面一致,但服务名称为cron:

cron 开启log服务
~$ sudo vi /etc/rsyslog.d/50-default.conf

#cron.*    /var/log/cron.log //去掉#,开启log机制

~$ sudo service rsyslog restart   重启log
~$ sudo service cron restart 重启服务

另外:没有再centos7下尝试
1 * * * * /auto.sh >> /log.txt 2>&1  
2>&1  将运行详细结果输入到log.txt中去。    解决No MTA installed, discarding output的问题。