我全新安装了 Ubuntu 14.04,在我的 /etc/cron.daily/ 中我看到 *.disabled 文件:
-rwxr-xr-x 1 root root 15481 Apr 10 09:04 apt.disabled
-rwxr-xr-x 1 root root 314 Feb 17 2014 aptitude.disabled
-rwxr-xr-x 1 root root 355 Jun 4 2013 bsdmainutils.disabled
-rwxr-xr-x 1 root root 384 Mar 23 2014 cracklib-runtime.disabled
-rwxr-xr-x 1 root root 256 May 1 08:29 dpkg.disabled
-rwxr-xr-x 1 root root 372 Jan 22 2014 logrotate
-rwxr-xr-x 1 root root 1261 Apr 10 06:59 man-db.disabled
-rwxr-xr-x 1 root root 435 Jun 20 2013 mlocate.disabled
-rwxr-xr-x 1 root root 249 Feb 16 2014 passwd.disabled
-rwxr-xr-x 1 root root 349 Dec 27 2012 quota.disabled
-rwxr-xr-x 1 root root 322 Apr 11 17:58 upstart.disabled
为什么会发生这种情况?我想在我的机器上使用无人值守升级,但无人值守升级的文档表明我需要编辑 /etc/cron.daily/apt 文件。根据此链接,我认为该文件应该默认存在:http://pkgs.org/ubuntu-14.04/ubuntu-main-amd64/apt_1.0.1ubuntu2_amd64.deb.html(而不是 apt.disabled?)
答案1
我们在使用 OpenVZ 的提供商托管的一台 VPS 服务器上也遇到了同样的问题(https://openvz.org)。另一台新安装了 14.04 的服务器(托管在其他地方)已启用所有 cron 作业。
我最好的猜测是,这是提供商为了节省一些系统资源的尝试。
答案2
除了 Ikar 的回答之外,我们还在 VPS 提供商上看到了这种情况https://openvz.org/。
我们通过运行这个 bash 脚本解决了这个问题:
for script in $(find /etc/cron.* -type f -name '*.disabled' ! -name '.placeholder*')
do
mv "$script" "$(dirname $script)/$(basename $script .disabled)"
done
它只是从 VPS 主机提供的标准 cron 脚本中删除所有“.disabled”。
答案3
我们在运行 Debian 的 OpenVZ VM 上也看到了这种情况。OpenVZ 提供的模板/图像默认禁用了 /etc/cron.* 中的所有 cronjobs。
我不知道他们为什么这样做,但这个问题似乎是由所使用的模板/图像引起的,与任何特定的 VPS 提供商无关。