cron

来自百合仙子's Wiki
跳转到导航 跳转到搜索

注意:未特别说明,本页面描述的都是 cronie 的用法。

crontab

命令参数

-l 列出当前事务
-e 编辑事务

配置文件格式

f1 f2  f3 f4  f5 command
分 时 日 月 周 命令
  • 第1列表示分钟1~59 每分钟用*或者 */1表示
  • 第2列表示小时1~23(0表示0点)
  • 第3列表示日期1~31
  • 第4列表示月份1~12
  • 第5列标识号星期0~6(0表示星期天),也可以使用 7,或者使用星期的名字
  • 第6列要运行的命令

当 f1 为 */n 时表示每 n 分钟个时间间隔执行一次,f2 为 */n 表示每 n 小时个时间间隔执行一次,其余类推。

当 f1 为 a, b, c,... 时表示第 a, b, c,... 分钟要执行,f2 为 a, b, c,... 时表示第 a, b, c...个小时要执行,其余类推。

[1]

例子

每隔一小时运行程序:

# m h dom mon dow command
0 0/1 * * * /path/to/bin args

环境变量

不继承 shell 中的环境变量。在配置文件里可以设置:[2]

# m h  dom mon dow   command
SHELL=/bin/bash
HOME=/home/pity
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:
LANG=zh_CN.UTF-8
 
00 2 * * * /home/pity/weather
0 3 14 2 * /home/pity/newyear
0 10 * * mon /home/pity/backmysql
MAILTO
将程序的输出发送到的邮件地址。设为空则不发送邮件。

Vim

编辑 crontab 文件会导致 Vim 将全局选项 'backupcopy' 置为 yes

其它 cron 实现

dcron

dcron[1]是一个简单的 cron 程序,它不支持在配置中指定环境变量。邮件发送程序只能在 crond 的命令行中指定。它支持 anacron 的特性,也支持更多种的频率指示。

任务的命令行选项中的环境变量不会影响邮件发送程序;它需要能够在非 UTF-8 环境下正确处理多字节内容。

fcron

fcron[2] 以取货 Vixie Cron 为目标,但它没不假设系统一直在运行,或者在特定的时间会运行(anacron 依赖这个)。

配置文件

Arch上,其配置文件位于 /etc/conf.d/crond ,其中仅包含要传给 cron 的参数。

注意

默认会将任务的输出通过邮件发送给该用户。在 crontab中 使用 MAILTO 环境变量来指定邮件地址。

参见

外部链接

参考资料