yuxeaotao 2019-06-29
Cron 是 Linux 的内置服务
[vagrant@vagrant-c5-x86_64 ~]$ /sbin/service crond status crond (pid 2168) 正在运行...
[vagrant@vagrant-c5-x86_64 ~]$ sudo /sbin/service crond stop 停止 crond: [确定]
[vagrant@vagrant-c5-x86_64 ~]$ sudo /sbin/service crond start 启动 crond: [确定]
[vagrant@vagrant-c5-x86_64 ~]$ sudo /sbin/service crond restart 停止 crond: [确定] 启动 crond: [确定]
[vagrant@vagrant-c5-x86_64 ~]$ sudo /sbin/service crond reload 重新载入 cron 守护进程配置: [确定]
/sbin/service crond start
[vagrant@vagrant-c5-x86_64 ~]$ crontab -e 0 */1 * * * /usr/local/php/bin/php yingyongbao_push.php -t push_strategy
[vagrant@vagrant-c5-x86_64 ~]$ crontab -l 0 */1 * * * /usr/local/php/bin/php yingyongbao_push.php -t push_strategy
[vagrant@vagrant-c5-x86_64 ~]$ sudo crontab -u root -l no crontab for root
[vagrant@vagrant-c5-x86_64 ~]$ sudo crontab -u vagrant -r
[vagrant@vagrant-c5-x86_64 ~]$ crontab -e no crontab for vagrant - using an empty one crontab: installing new crontab [vagrant@vagrant-c5-x86_64 ~]$ crontab -l 0 */1 * * * /usr/local/php/bin/php yingyongbao_push.php -t push_strategy [vagrant@vagrant-c5-x86_64 ~]$ crontab -r [vagrant@vagrant-c5-x86_64 ~]$ crontab -l no crontab for vagrant
usage: crontab [-u user] file crontab [-u user] [ -e | -l | -r ] (default operation is replace, per 1003.2) -e (edit user's crontab) -l (list user's crontab) -r (delete user's crontab) -i (prompt before deleting user's crontab) -s (selinux context)
[vagrant@vagrant-c5-x86_64 ~]$ man crontab
第1列 表示分钟 1~59 每分钟用 * 或者 */1 表示 第2列 表示小时 1~23(0表示0点) 第3列 表示日期 1~31 第4列 表示月份 1~12 第5列 标识号星期 0~6(0表示星期天) 第6列 要运行的命令
特殊符号
*: 表示任何时刻 ,: 表示分割 -: 表示时间段,如1-5,表示1-5点 /n: 表示每个n的单位执行一次,如 */1,表示每隔一个小时执行一次,等效于 1-23/1 -1: 包含所有合法值,在月份域上使用 -1 意味着每个月都会触发这个 trigger
#每晚的21:30 30 21 * * * xxxx #每天早上6点10分 10 6 * * * date #每两个小时 0 */2 * * * date #每月 1、10、22日早上4点45分 45 4 1,10,22 * * xxx #每周日,周二,周三的 17:00和 17:10 执行 0,10 17 * * 0,2,3 #每隔10分 执行 0,10,20,30,40,50 * * * * */10 * * * * #8:02,11:02,14:02,17:02,20:02 执行 2 8-20/3 * * *
存放系统运行的调度程序
[vagrant@vagrant-c5-x86_64 etc]$ cat /etc/crontab SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ # run-parts 01 * * * * root run-parts /etc/cron.hourly 02 4 * * * root run-parts /etc/cron.daily 22 4 * * 0 root run-parts /etc/cron.weekly 42 4 1 * * root run-parts /etc/cron.monthly
/etc/cron.deny 表示不能使用 crontab 命令的用户 /etc/cron.allow 表示能使用crontab的用户 如果两个文件同时存在,那么 /etc/cron.allow 优先 如果两个文件都不存在,那么只有超级用户可以安排作业
[root@vagrant-c5-x86_64 vagrant]# cd /var/spool/cron/ [root@vagrant-c5-x86_64 cron]# ls vagrant [root@vagrant-c5-x86_64 cron]# cat vagrant 0 */1 * * * /usr/local/php/bin/php yingyongbao_push.php -t push_strategy