Crontab命令常见于Unix和Linux的操作系统之中,用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。通常,crontab储存的指令被守护进程激活。crond 常常在后台运行,每一分钟检查是否有预定的作业需要执行。这类作业一般称为cron jobs。
yum -y install vixie-cron
yum -y install crontabs
说明:
vixie-cron 软件包是 cron 的主程序;
crontabs 软件包是用来安装、卸装、或列举用来驱动 cron 守护进程的表格的程序。
cron 是 linux 的内置服务,但它不自动起来,可以用以下的方法启动、关闭这个服务:
service crond start //启动服务
service crond stop //关闭服务
service crond restart //重启服务
service crond reload //重新载入配置
service crond status //查看crontab服务状态
在CentOS系统中加入开机自动启动:
chkconfig –level 345 crond on
列子:
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
minute:分,值为0-59
hour:小时,值为1-23
day:天,值为1-31
month:月,值为1-12
weekday:星期,值为0-6(0代表星期天,1代表星期一,以此类推)
username:要执行程序的用户,一般设置为root
command:要执行的程序路径(设置为绝对路径)例如:/home/cunlz.org/cunlz.sh
root身份登录到命令行
输入crontab -e
按下a键进入到编辑模式
输入 执行代码,例如:
0 3 */7 * * /bin/certbot renew –renew-hook “/etc/init.d/nginx reload”
同时按下ctrl+c退出编辑模式
按下shift+: 输入wq 退出 crontab
附:crontab规则详细实例
1、每天6:00执行
0 6 * * * root /home/cunlz.org/cunlz.sh
2、每周六凌晨4:00执行
0 4 * * 6 root /home/cunlz.org/cunlz.sh
3、每周六凌晨4:25执行
25 4 * * 6 root /home/cunlz.org/cunlz.sh
4、每周一到周五的11:41开始,每隔10分钟执行一次
41,51 11 * * 1-5 root /home/cunlz.org/cunlz.sh
1-59/10 12-23 * * 1-5 root /cunlz.org/cunlz.sh
5、在每天的10:31开始,每隔2小时重复一次
31 10-23/2 * * * root /cunlz.org/cunlz.sh
6、每天15:00执行
0 15 * * * root /home/cunlz.org/cunlz.sh