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
每行包含四个字段:
- 周期:作业应该多少天运行一次
- 延迟:系统启动后等待多少分钟再执行
- 作业标识符:用于在日志中标识作业的唯一名称
- 命令:要执行的命令或脚本
时间戳文件 #
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 文件中的作业