一.关于crontab
有些Ubuntu 版本,cron是被默认安装并启动的。若是没有启动,自行设置并启动(chkconfig\sysv-rc-conf)。配置文件/etc/crontab:
# m h dom mon dow user command
17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
Ubuntu调用run-parts命令,定时运行四个目录下的全部脚本。
/etc/cron.hourly下的脚本会被每小时运行一次,在每小时的17分时运行。
/etc/cron.daily下的脚本会被天天运行一次,在天天6点25分运行。
/etc/cron.weekly下的脚本会被每周运行一次,在每周第7天的6点47分运行。
/etc/cron.monthly下的脚本会被每个月运行一次,在每个月1号的6点52分运行。
以上执行时间可自行修改
二.关于shell脚本
只须要把计划运行的脚本放到相应目录中就能够了。不过须要注意如下两点:
1.脚本文件的名称不能包含“.”符号。你能够写成“im-alarm”,但不要写成“im-alarm.sh”。(由于命名问题,遇到过不执行的状况)
2.脚本开头必须加上“#!/bin/bash”,不然run-parts调用不成功。
不然直接用run-parts运行时会致使这样的错误:
run-parts: failed to exec /etc/cron.hourly/backup-website: Exec format error
run-parts: /etc/cron.hourly/backup-website exited with return code 1
三.启动与中止
ubuntu下启动、中止与重启cron
sudo /etc/init.d/cron start
sudo /etc/init.d/cron stop
sudo /etc/init.d/cron restart
查看cron是否在运行:
pgrep cronweb