11个Linux中的Cron调度任务示例

在本文中,我们将审查并查看如何使用Crontab命令定期自动在后台调度和运行任务。

在这篇文章中,我们要检讨,看看我们如何可以安排使用crontab命令定期自动在后台运行的任务。手动处理频繁的作业是系统管理员的一项艰巨的任务。这样的进程可以在后台自动调度和运行,而无需使用cron守护程序在Linux或类Unix操作系统中进行人为干预。 例如,你可以自动备份一样, 计划更新 和文件同步和多进程。cron是运行计划任务的守护程序。 克龙每分钟苏醒过来,并检查安排在crontable任务。crontab的 (cron表 )是一个表,我们可以安排这样那样的重复任务。 温馨提示:每个用户都可以有自己的crontab来创建,修改和删除任务。 默认情况下cron是让用户使用,不过我们可以限制包含/etc/cron.deny文件添加条目。
Linux Cron Examples

11 Linux中的Cron命令示例

Crontab文件由每行命令组成,实际上有六个字段,分隔空格或制表符。开始的五个字段表示运行任务的时间,最后一个字段表示命令。
  1. 分钟(0-59之间保持值)
  2. 小时(0-23之间保持值)
  3. 月内某日(1-31之间保持值)
  4. 一年中的月份(1-12持有或一月至十二月之间的值,你可以用每个月的名称,即一月或六月的前三个字母)。
  5. 本周日(保存值0-6周日至周六之间,在这里,你也可以每天使用的名字,如太阳或者周三的前三个字母)。
  6. 命令

列出Crontab条目

列表或管理与当前用户-l选项crontab命令的任务。
# crontab -l
00 10 * * * /bin/ls >/ls.txt

2.编辑Crontab条目

要编辑的crontab条目,请使用-e选项,如下图所示。 在下面的例子将在VI编辑器中打开调度作业。 做一个必要的修改和退出紧迫:WQ键自动保存设置。
# crontab -e

3.列出计划的Cron作业

要列出使用选项,-u( 用户 )和-l( 列表 )称为howtoing特定用户的调度作业。
# crontab -u howtoing -l
no crontab for howtoing
注意:只有root用户拥有完全权限看到其他用户的crontab条目。普通用户无法查看其他人。

4.删除Crontab条目

注意:使用crontab的-r参数将删除完整的计划作业不受crontab的确认。 删除用户的crontab之前,请使用-i选项。
# crontab -r

5.删除Crontab之前提示

crontab的使用-i选项将删除用户的crontab前提示用户从你的确认。
# crontab -i -r
crontab: really delete root's crontab?

6.允许的特殊字符(*, - ,/,?,#)

  1. Asterik(*) -在现场或任何可能的值匹配的所有值。
  2. 连字符( - ) -定义范围。
  3. 斜杠(/) -第一场/ 10含义每十分钟的范围内增量。
  4. 逗号(,) -为单独项目。

7.系统范围的Cron计划

系统管理员可以使用预定义cron目录,如下所示。
  1. /etc/cron.d
  2. /etc/cron.daily
  3. /etc/cron.hourly
  4. /etc/cron.monthly
  5. /etc/cron.weekly

8.计划特定时间的作业

下面的工作在上午12:30每天删除空文件,并从/ tmp目录。 您需要提及用户名以执行crontab命令。 在下面的例子用户执行cron作业。
# crontab -e
30 0 * * *   root   find /tmp -type f -empty -delete

9.共同附表的特殊字符串

字符串 意义
@重启 命令将在系统重新启动时运行。
@日常 每天一次或可以使用@midnight。
@每周 每周一次。
@每年 每年一次。我们可以使用@annually关键字。
如果要使用相同的,需要用关键字替换cron命令的五个字段。

10.多重命令带双安培(&&)

在下面的例子中,command1和command2每天运行一次。
# crontab -e
@daily <command1> && <command2>

11.禁用电子邮件通知。

默认情况下cron发送邮件到执行cronjob的用户帐户。如果要禁用它,请添加您的cron作业,类似于以下示例。使用>的/ dev / null的2>&在文件的最后1选项将重定向下的/ dev / null,则cron的结果,所有的输出。
[root@howtoing ~]# crontab -e
* * * * * >/dev/null 2>&1
结论:任务自动化可以帮助我们完成我们的任务更好的方法,无差错的,有效地。 你可以参考的crontab的手册获得更多信息,在终端中输入“ 人的crontab'命令。