Crontab 文件每行由命令组成,实际上有六个字段,并以空格或制表符分隔。前五个字段代表运行任务的时间,最后一个字段用于命令。
* * * * *
- - - - -
| | | | |
| | | | +----- 星期中星期几 (0 - 6) (星期天 为0)
| | | +---------- 月份 (1 - 12)
| | +--------------- 一个月中的第几天 (1 - 31)
| +-------------------- 小时 (0 - 23)
+------------------------- 分钟 (0 - 59)
0-59
)0-23
)1-31
)1-12
或者Jan-Dec
,你可以使用每个月名称的前三个字母,即Jan or Jun
.)0-6
或者Sun-Sat
, 在这里你也可以使用每天名字的前三个字母,即Sun or Wed
.)> c1 c2 c3 c4 c5 program
*
时表示每小时都要执行程序,其馀类推*/n
时表示每 n 分钟个时间间隔执行一次,c2 为 */n
表示每 n 小时个时间间隔执行一次,其馀类推使用 crontab 命令列出或管理任务
-l
当前用户的选项。
# crontab -l
00 10 * * * /bin/ls >/ls.txt
要编辑 crontab 条目,请使用
-e
选项如下图。在下面的示例中,将打开调度作业vi
编辑。进行必要的更改并退出按:wq
键自动保存设置。
# crontab -e
列出特定用户的计划作业
rumenz
使用选项作为-u
(User
) 和-l
(List
)。
# crontab -u rumenz -l
no crontab for rumenz
仅有的
root
用户拥有查看其他用户 crontab 条目的完整权限。普通用户无法查看其他人。
Caution:
Crontab 与-r
参数将删除完整的计划作业,而无需来自 crontab 的确认。用-i
删除用户的 crontab 之前的选项。
# crontab -r
crontab 与
-i
选项将在删除用户的 crontab 之前提示你确认用户。
# crontab -i -r
crontab: really delete root's crontab?
Asterik(*)
– 匹配字段中的所有值或任何可能的值。Hyphen(-)
– 定义范围。Slash (/)
– 第一个字段 /10 表示每十分钟或范围增量。Comma (,)
– 分隔。系统管理员可以使用预定义的 cron 目录,如下所示。
以下作业从中删除空文件和目录
/tmp
在00:30
我每天。你需要提及用户名才能执行 crontab 命令。在下面的例子中root
用户正在执行 cron 作业。
# crontab -e
30 0 * * * root find /tmp -type f -empty -delete
Strings | Meanings |
---|---|
@reboot | 命令将在系统重新启动时运行 |
@daily | 每天一次或可使用@midnight |
@weekly | 每周 |
@yearly | 每年一次。我们也可以使用@annual关键字 |
如果要使用相同的关键字,则需要将 cron 命令的五个字段替换为关键字。
在下面的示例中,command1 和 command2 每天运行。
# crontab -e
@daily <command1> && <command2>
默认情况下,cron 将邮件发送到执行 cronjob 的用户帐户。如果你想禁用它,请添加类似于以下示例的 cron 作业。使用
>/dev/null 2>&1
文件末尾的选项将重定向 cron 结果下的所有输出/dev/null
.
[root@rumenz ~]# crontab -e
* * * * * >/dev/null 2>&1
相关文章