1、基本概念
crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。crontab储存的指令被守护进程激活, crond常常在后台运行,每一分钟检查是否有预定的作业需要执行。这类作业一般称为cron jobs。
2、命令格式
1 2 3 4 5 6 7 8 | # Example of job definition: # .---------------- minute (0 - 59) # | .------------- hour (0 - 23) # | | .---------- day of month (1 - 31) # | | | .------- month (1 - 12) OR jan,feb,mar,apr ... # | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat # | | | | | # * * * * * user-name command to be executed |
2.1、每月每天每小时的第 0 分钟执行一次 xxoo
0 * * * * xxoo
2.2、在 12 月份期间, 每天的早上 6 点到 12 点中,每隔 20 分钟执行一次 xxoo
*/20 6-12 * 12 * xxoo
2.3、周一到周五每天下午 5:00 xxoo
0 17 * * 1-5 xxoo
2.4、每月每天的午夜 0 点 20 分, 2 点 20 分, 4 点 20 分 xxoo
20 0-23/2 * * * xxoo
3、基本操作
crontab文件包含送交cron守护进程的一系列作业和指令。每个用户可以拥有自己的crontab文件;同时,操作系统保存一个针对整个系统的crontab文件,该文件通常存放于/etc或者/etc之下的子目录中,而这个文件只能由系统管理员来修改。
3.1.1、直接修改etc下的crontab文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | [root@Crayfish ~]# cd /etc [root@Crayfish etc]# cat crontab SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ # For details see man 4 crontabs # Example of job definition: # .---------------- minute (0 - 59) # | .------------- hour (0 - 23) # | | .---------- day of month (1 - 31) # | | | .------- month (1 - 12) OR jan,feb,mar,apr ... # | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat # | | | | | # * * * * * user-name command to be executed [root@Crayfish etc]# vi crontab |
3.1.2、通过crontab命令
[root@Crayfish etc]# crontab -e
3.2、加入任务队列
[root@Crayfish etc]# crontab crontab
4、任务管理
4.1、任务查看
[root@Crayfish etc]# crontab -l
4.2、任务删除
[root@Crayfish etc]# crontab -r
4.3、任务编辑
[root@Crayfish etc]# crontab -e
Pingback: Linux下最简单的动态域名解析