Cron是负责执行的服务
Crontab是配置Cron的工具
查看Cron的Log
grep CRON /var/log/syslog
如果在Log中看到输出是:
(CRON) info (No MTA installed, discarding output)
那么可以丢弃脚本的输出:不需要的Log就这样丢掉
xxx >/dev/null 2>&1
重要的Log,在sh脚本里面,写入到Log文件里面
要注意主机的时区,根据时区设定自己想要的时间(因为云主机一般和自己不在一个时区)。看这里:时间配置
crontab -l # 列出当前的配置的任务 crontab -e # 编辑
主要的配置格式是:
* * * * * command 5个位置的配置,决定了自动执行的时间 匹配任意数字:* 每隔N才执行:*/N 固定在N执行:N 指定范围:A,B 或者 A-B # 每1分钟执行一次myCommand * * * * * myCommand # 每小时的第3和第15分钟执行 3,15 * * * * myCommand # 在上午8点到11点的第3和第15分钟执行 3,15 8-11 * * * myCommand # 每隔两天的上午8点到11点的第3和第15分钟执行 3,15 8-11 */2 * * myCommand # 每周一上午8点到11点的第3和第15分钟执行 3,15 8-11 * * 1 myCommand
运行的时候,要加上bash,直接写xxx.sh是不行的,要写/bin/bash xxx.sh
和Apache一样,可以这样查看
sudo service cron status
要注意权限,自己的定时任务,自己要有执行权限
cron执行的时候,可能会缺失一些环境变量