仅每周六运行 Ubuntu 安全更新

仅每周六运行 Ubuntu 安全更新

客户想要在他们的 12.04 盒子上启用自动安全更新,但必须每周一次,仅限周六(为什么我不知道)。

当我dpkg-reconfigure -plow unattended-upgrades每天这样做时,他们不希望这样。

我该如何配置这个?

答案1

如果只在周六跑步绝对重要,那么请执行以下操作:

  1. 取出包装anacron。请注意,这也会删除ubuntu-desktop,但您可能不需要在服务器上使用它。这是必要的,因为否则无法控制 Anacron 将在一周中的哪一天运行/etc/cron.weekly.
  2. 编辑文件/etc/crontab,它应该有以下行:

    47 6    * * 7   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
    

    将 更改76(星期六)并根据您的需要调整前两个数字(分钟和小时)。这将导致所有作业在/etc/cron.weekly一周中的指定日期和时间运行。

  3. 将文件移动/etc/cron.daily/apt/etc/cron.weekly/apt.

答案2

apt中的文件包含/etc/cron.daily相关说明:

# Create /etc/apt/apt.conf.d/02periodic file to set your preference.
....
#
#  APT::Periodic::Unattended-Upgrade "0";
#  - Run the "unattended-upgrade" security upgrade script
#    every n-days (0=disabled)
#    Requires the package "unattended-upgrades" and will write
#    a log in /var/log/unattended-upgrades

环境

APT::Periodic::Unattended-Upgrade "7";

每 7 天运行一次,如果您在周五更改,则每日第一个 cron 运行将在周六早上(默认为上午 6:25 /etc/crontab)。

如果当时机器停机,该脚本将在系统启动的第二天运行。在那(新的)一天之后的每周。这样,您就可以获得一台机器的每周更新,该机器在某一天并不总是处于运行状态,但不是您想要的。

对于不同步,您可以做的一件事是使用 crontab 条目来运行/var/lib/apt/periodic/update-stamp适当地触及标记文件的 touch 命令(即将其设置为“上周六上午完成”)

相关内容