我们有许多机器使用 yum-cron 和内部镜像服务器来保持最新状态。其中一些机器会发送电子邮件通知我们更新将(已)应用,但不会收到其他机器的任何信息。
有两个潜在问题:
- 过去有些机器更新失败,因为 yum-cron 的 /etc/cron.daily/0yum-daily.cron 与 anacron 冲突/竞争 (run-parts? --> logrotate?)
- 机器已更新,但即使 /etc/yum/yum-cron.conf 也没有发送任何通知发射电子邮件,有正确的电子邮件地址,我可以数控到电子邮件服务器的 25 端口
以下是某台机器上 /var/log/cron 的摘录:正在更新但尚未通知:
Feb 18 03:29:01 hostname anacron[115262]: Job `cron.daily' started
Feb 18 03:29:01 hostname run-parts(/etc/cron.daily)[115278]: starting 0yum-daily.cron
Feb 18 04:01:01 hostname CROND[115298]: (root) CMD (run-parts /etc/cron.hourly)
Feb 18 04:01:01 hostname run-parts(/etc/cron.hourly)[115298]: starting 0anacron
Feb 18 04:01:01 hostname anacron[115307]: Anacron started on 2019-02-18
Feb 18 04:01:01 hostname anacron[115307]: Job `cron.daily' locked by another anacron - skipping
Feb 18 04:01:01 hostname anacron[115307]: Normal exit (0 jobs run)
Feb 18 04:01:01 hostname run-parts(/etc/cron.hourly)[115309]: finished 0anacron
ps 辅助 | grep cron
root 84056 0.0 0.0 126288 976 ? Ss Feb02 0:02 /usr/sbin/crond -n
root 127274 0.0 0.0 113176 1500 ? Ss 13:01 0:00 /bin/bash /bin/run-parts /etc/cron.hourly
root 127286 0.0 0.5 351412 21748 ? S 13:01 0:00 /usr/bin/python -tt /usr/sbin/yum-cron /etc/yum/yum-cron-hourly.conf
root 127287 0.0 0.0 113540 976 ? S 13:01 0:00 awk -v progname=/etc/cron.hourly/0yum-hourly.cron progname { ???? print progname ":\n" ???? progname=""; ??? } ??? { print; }
root 127597 0.0 0.0 112712 976 pts/0 S+ 13:07 0:00 grep --color=auto cron
几分钟后:
root 84056 0.0 0.0 126288 976 ? Ss Feb02 0:03 /usr/sbin/crond -n
root 129427 0.0 0.0 112712 980 pts/0 S+ 13:45 0:00 grep --color=auto cron
尽管我知道这在过去不一定会发生,并且我知道为什么我要询问 cron 日志,但仍在应用更新。
rpm -qa --last|head -5
systemd-sysv-219-62.el7_6.5.x86_64 Thu 21 Feb 2019 07:15:42 AM EST
systemd-219-62.el7_6.5.x86_64 Thu 21 Feb 2019 07:15:40 AM EST
systemd-libs-219-62.el7_6.5.x86_64 Thu 21 Feb 2019 07:15:39 AM EST
kernel-3.10.0-957.5.1.el7.x86_64 Sat 02 Feb 2019 08:08:02 AM EST
efivar-libs-36-11.el7_6.1.x86_64 Sat 02 Feb 2019 08:07:59 AM EST
/var/log/maillog 中没有什么特别突出的地方