📜  linux 中的 anacron 命令和示例

📅  最后修改于: 2022-05-13 01:57:28.983000             🧑  作者: Mango

linux 中的 anacron 命令和示例

anacron命令用于以天指定的频率定期执行命令。与 cron相比,它的主要优点是它可以在不连续运行的机器上使用。在cron 中,如果机器没有按计划作业的时间运行,那么它会跳过它,但anacron有点不同,因为它首先检查作业的时间戳,然后决定是否运行它以及它的时间戳是否>= n (n 是定义的天数)然后在指定的时间延迟后运行它。

它主要由两个重要的文件构成:

  1. /etc/anacrontab :它包含作业的规范。

    • 见行SHELL=/bin/sh 。它使用sh而不是bash你不能运行 bash 脚本。
    • 最后一个表代表不同的调度。第一列是天数(n),即周期,第二列是时间延迟(以分钟为单位)。
  2. /var/spool/anacron :Anacron 使用此目录来存储时间戳文件。它代表不同类别工作的时间戳,即每天、每周、每月等。

句法:

anacron [-s]  [-f]  [-n] [-d] [-q] [-t anacrontab] [-S spooldir] [job]
anacron [-S spooldir] -u [-t anacrontab] [job] ...
 anacron [-V|-h]
 anacron -T [-t anacrontab]

选项:



  • f :用于强制执行作业,忽略时间戳。
  • u :仅将作业的时间戳更新为当前日期,但不运行任何内容。
  • s :序列化作业的执行。 Anacron 不会在前一个工作完成之前开始新工作。
  • n :立即运行作业。忽略任何延迟。
  • d:不要分叉到后台。在这种模式下,Anacron 将向标准错误以及系统日志输出信息性消息。作业的输出照常邮寄。
  • q :将消息抑制为标准错误。仅适用于-d
  • V(使用指定的 anacrontab):打印版本信息并退出。
  • h(使用指定的 anacrontab):打印简短的使用信息,然后退出。

笔记:

  • 您可以将任何脚本添加到etc/cron.dailyetc/cron.weeklycron.monthly目录中。但记住脚本应该是 sh 而不是 bash。

  • 不要忘记为您的文件授予可执行权限sudo chmod +x filename
  • 目录中的脚本会根据它们所在的目录自动执行。

例子:

  • 更改作业的时间戳。观察时间戳值的变化。

  • 执行强制执行。注意时间延迟。

  • 序列化执行。

  • 打印版本信息。

  • 打印排序使用消息。

注意:这里我们在所有命令中都使用了 -d选项以在屏幕上显示实际发生的情况。