cron是一个在类Unix操作系统上的任务计划程序。它可以让用户在指定时间段周期性地运行命令或者shell脚本,通常被用在系统的自动化维护或者管理。
crontab 的基本格式是:
<分钟> <小时> <日> <月份> <星期> <命令>
- 分钟 值从 0 到 59.
- 小时 值从 0 到 23.
- 日 值从 1 到 31.
- 月 值从 1 到 12.
- 星期 值从 0 到 6, 0 代表星期日.
多个时间可以用逗号隔开,范围可以用连字符给出,星号可以作为通配符。空格用来分开字段。例如,下面一行:
*0,*5 9-16 * 1-5,9-12 1-5 /home/user/bin/i_love_cron.sh
会在夏天(六、七、八月)之外的每周周一到周五的上午9点到下午4点之间每5分钟执行一次 i_love_cron.sh。
基本命令
Crontabs 不应该直接编辑;用户应该使用 crontab 程序来处理他们的 crontabs。为了能够访问这个命令,用户必须添加到 users 用户组 (见 gpasswd 命令).
要查看 crontabs,用户应该运行下面的命令:
$ crontab -l
要编辑 crontabs,可以使用:
$ crontab -e
要移除 crontabs, 可以使用:
$ crontab -d
如果用户有一个保存好的 crontab 想要用它完全覆盖旧的 crontab,可以使用:
$ crontab saved_crontab_filename
想从命令行覆盖一个 crontab,使用:
$ crontab -
想编辑别的用户的 crontab, 使用root运行下面的命令:
# crontab -u username -e
同一个格式 (追加 “-u username” 到命令后) 也可以用来列出或删除 crontabs。
如果想使用 nano 而不是 vi 作为 crontab 编辑器,添加下面的变量到 /etc/bash.bashrc:
export EDITOR="/usr/bin/nano"
然后重启终端
范例
下面的条目:
01 * * * * /bin/echo Hello, world!
将会在每个月的每一天的每一个小时的第一分钟(例如,在12:01,1:01,2:01等)执行命令 /bin/echo Hello, world!
类似地,
*/5 * * jan mon-fri /bin/echo Hello, world!
将会在一月的每个工作日每五分钟(例如,在12:00,12:05,12:10等)执行一次相同的命令。
As noted in the Crontab Format section, the line:
*0,*5 9-16 * 1-5,9-12 1-5 /home/user/bin/i_love_cron.sh
原创文章,作者:HGG,如若转载,请注明出处:http://www.178linux.com/79303