如何为 anacron 设置环境变量?

如何为 anacron 设置环境变量?

我目前正在 Ubuntu 12.04 (Precise) 安装上调试 anacron 2.3。我一直在尝试使用 START_HOURS_RANGE 和 RANDOM_DELAY 环境变量。我的 /etc/anacrontab 如下所示:

# /etc/anacrontab: configuration file for anacron

# See anacron(8) and anacrontab(5) for details.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
START_HOURS_RANGE=3-5
RANDOM_DELAY=30

# These replace cron's entries
1    5    cron.daily     nice run-parts --report /etc/cron.daily
7    10    cron.weekly     nice run-parts --report /etc/cron.weekly
@monthly    15    cron.monthly nice run-parts --report /etc/cron.monthly
1    0    test.job    echo 'TEST JOB'

问题是,当我使用手动运行 anacron 时

sudo anacron -s

测试作业会立即执行,即使我超出了开始时间范围并且存在相关的随机延迟。

我不知道还能做什么来重现 anacrontab(5) 手册页中描述的行为

我已经感谢您给予我的任何帮助。

再见,

尼古拉斯·卡拉斯科·史蒂文森

答案1

Ubuntu 上的 anacrontab 手册页状态:

环境分配行的格式为:

变量 = 价值

删除 VAR 周围的空格。VALUE 周围不允许有空格(除非您希望它们成为值的一部分)。赋值从下一行到文件末尾生效,或者从同一变量的下一次赋值开始生效。

Redhat 上的 anacrontab 手册页状态:

环境分配行的格式为:

变量 = 价值

删除 VAR 周围的空格。VALUE 周围不允许有空格(除非您希望它们成为值的一部分)。赋值从下一行到文件末尾生效,或者从同一变量的下一个赋值开始生效。环境变量 START_HOURS_RANGE 设置作业可以启动的时间范围。

我有一种隐隐的怀疑,START_HOURS_RANGEUbuntu 中没有使用这个功能。Ubuntu 手册页没有提到这些参数。这是 RHEL/CentOS Linux v6.x 的功能。


事实胜于雄辩:

rinzwind@discworld:~$ grep START /etc/anacrontab
rinzwind@discworld:~$ 

是的,Ubuntu 不支持。


还有更多布丁!

START_HOURS_RANGE 已添加anacron-2.3-68

Ubuntu 13.04 使用...

$anacron -V 
Anacron 2.3

相关内容