anacron命令

anacron 命令 #

anacron是一个用于运行定期命令的程序,特别适用于不是 24 小时运行的系统(如个人计算机或笔记本电脑)。它会执行那些在系统关闭时错过的定期 cron 作业。

语法 #

anacron [选项] [作业] ...
anacron -T [作业] ...

常用选项 #

选项 描述
-f 强制执行作业,忽略时间戳
-u 仅更新时间戳,不执行命令
-n 立即运行作业,忽略延迟
-d 调试模式,不执行命令
-q 安静模式,抑制标准输出
-s 串行执行作业(一次一个)
-T 测试模式,显示下次执行时间

配置文件 #

anacron 的主要配置文件是/etc/anacrontab,其格式如下:

# 周期(天) 延迟(分钟) 作业标识符 命令
1       5       cron.daily      run-parts /etc/cron.daily
7       10      cron.weekly     run-parts /etc/cron.weekly
30      15      cron.monthly    run-parts /etc/cron.monthly

每行包含四个字段:

  1. 周期:作业应该多少天运行一次
  2. 延迟:系统启动后等待多少分钟再执行
  3. 作业标识符:用于在日志中标识作业的唯一名称
  4. 命令:要执行的命令或脚本

时间戳文件 #

anacron 使用时间戳文件来跟踪上次执行作业的时间。这些文件位于/var/spool/anacron/目录中,文件名与作业标识符相同。

常见用法 #

手动运行所有 anacron 作业 #

sudo anacron -f

立即运行所有 anacron 作业(无延迟) #

sudo anacron -fn

测试 anacron 配置 #

sudo anacron -T

运行特定作业 #

sudo anacron -f cron.daily

与 cron 的区别 #

特性 cron anacron
运行频率 可以精确到分钟 最小单位是天
错过的作业 不会执行错过的作业 会在系统启动后执行错过的作业
适用系统 24/7 运行的服务器 不是全天候运行的系统
用户权限 可由普通用户使用 通常只由 root 用户使用

注意事项 #

  • anacron 通常由系统 cron 作业启动,或在系统启动时启动
  • anacron 只适合执行不需要精确时间的定期任务
  • 默认情况下,anacron 只能由 root 用户使用
  • anacron 不会执行用户的 crontab 文件中的作业