yum 的自动更新计划任务居然会自动退出程序...


(Frederic Chan) #1

今天早上起来发现自己昨天刚刚搭好的一个服务居然挂了,登陆服务器一看发现进程都没了。用 systemctl status kibana.service 一看,发现凌晨五点的时候被 killed 了。那个时候我在睡觉,并且我的服务器都是用私钥登陆,不存在密码爆破的可能,不可能是别人操作。

于是查看系统的日志:

cat /var/log/messages | grep kibana

找到凌晨五点的日志,发现:

Mar 21 05:30:50 adm-stage yum[17755]: Updated: kibana.x86_64 6.2.3-1
Mar 21 05:31:07 adm-stage /etc/init.d/kibana: Attempting 'stop' on kibana

于是问题就很明朗了:yum 的自动更新把 kibana(我的服务)给自动更新了,并且还把我服务给停了!

查看 /etc/cron.daily 里果然发现了名为 0yum-daily.ron 的文件:

#!/bin/bash

# Only run if this flag is set. The flag is created by the yum-cron init
# script when the service is started -- this allows one to use chkconfig and
# the standard "service stop|start" commands to enable or disable yum-cron.
if [[ ! -f /var/lock/subsys/yum-cron ]]; then
  exit 0
fi

# Action!
exec /usr/sbin/yum-cron

原来是 yum-cron 这个东西在作祟!它的配置文件是 /etc/yum/yum-cron.conf ,修改它:

update_cmd = security  # 默认是 default,改为 security 即只安装安全更新

sudo systemctl restart yum-cron,完成!


参考资料:

  1. How to enable automatic security updates on CentOS 7 with yum-cron