计划任务crontab

时间:2022-11-05 11:25:34

安装crontab服务

1, yum install -y vixie-cron

如果提示crond命令不存在,可能被误删除了,CentOS下可以通过这个命令重新安装:

yum -y install crontabs

2,crontab文件所在位置【centos】

/var/spool/cron

3,crontab配置文件

vim /etc/crontab

3.2 /etc/cron.deny 和 /etc/cron.allow 文件

/etc/cron.deny 表示不能使用crontab 命令的用户

/etc/cron.allow 表示能使用crontab的用户。

如果两个文件同时存在,那么/etc/cron.allow 优先。

如果两个文件都不存在,那么只有超级用户可以安排作业。

4,查看crontab

crontab  -l

5,编辑crontab

crontab -e

6,删除crontab

crontab  -r

7,查看计划任务是否执行
看/var/log/cron这个文件就可以,可以用tail  -f /var/log/cron观察
 
8,cron的启动和停止
/etc/init.d/crond start
/etc/init.d/crond stop
/etc/init.d/crond restart

service crond start|stop|restart| reload

Crontab 格式说明

我们可以用crontab -e添加要执行的命令。 命令执行的结果,无论是标准输出还是错误输出,都将以邮件形式发给用户。

添加的命令必须以如下格式:

* * * * * /command path

前五个字段可以取整数值,指定何时开始工作,第六个域是字符串,即命令字段,其中包括了crontab调度执行的命令。各个字段之间用spaces和tabs分割。

前5个字段分别表示:

分钟:0-59

小时:1-23

日期:1-31

月份:1-12

星期:0-6(0表示周日)

还可以用一些特殊符号:

*:表示任何时刻

,: 表示分割

  -:表示一个段,如第二端里: 1-5,就表示1到5点

/n :表示每个n的单位执行一次,如第二段里,*/1,就表示每隔1个小时执行一次命令。也可以写成1-23/1.


例子

#每15分钟执行一次ls命令 [即每个小时的第0 15 30 45 60分钟执行ls命令 ]
*/15 * * * * ls

#每小时的1分钟开始
01 * * * * root run-parts /etc/cron.hourly

#每天4:02开始
02 4 * * * root run-parts /etc/cron.daily

#星期日4:22开始
22 4 * * 0 root run-parts /etc/cron.weekly

#每月的1号的4:42开始
42 4 1 * * root run-parts /etc/cron.monthly

5       *       *           *     *     ls             指定每小时的第5分钟执行一次ls命令 
30     5       *           *     *     ls             指定每天的 5:30 执行ls命令 
30     7       8         *     *     ls             指定每月8号的7:30分执行ls命令 
30     5       8         6     *     ls             指定每年的6月8日5:30执行ls命令 
30     6       *           *     0     ls             指定每星期日的6:30执行ls命令