![生产服务器上的自动更新](https://linux22.com/image/692520/%E7%94%9F%E4%BA%A7%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E7%9A%84%E8%87%AA%E5%8A%A8%E6%9B%B4%E6%96%B0.png)
看到最近 shellshock 等漏洞越来越多,人们对在生产服务器上进行自动更新的看法是否发生了改变?
那么运行这些的最佳方法是什么?只需在 crontab 中输入:yum -y update
或者使用 yum-cron 或者其他方法?
谢谢!
答案1
只有在拥有适当的测试环境和在生产之前更新测试的方法并有足够的时间来捕获错误时,您才能进行自动更新......由于有如此多的变量在起作用,您需要一个可靠的测试系统。
答案2
我的经验是,如果你遇到全部这些条件:
- 您使用 CentOS 或 RHEL(版本 6 或 7)
- 您安排了停机时间窗口,并在每次更新后重新启动
- 您的应用程序/服务能够
service stop
自动start
- 保持服务器上操作系统的清洁
- 无需安装非仓库 RPM
- 没有像 rpmforge 这样的弃用的 repos
- 无需手动更改的文件无需手动更改)
- 许多其他东西 - 无论供应商在他们的测试环境中不太可能预测到什么
- 你确定前任管理员没有做过这些事
有了这些,出现问题的风险yum update
就会降到最低。我本人还没有见过这种情况下的服务故障。因此,您确实可以在可接受的较低可用性风险下让您的操作系统更安全。
Ubuntu,没有什么不好的经历,但我也经历过几次,所以没有足够的统计数据来证明这一点。
为了进一步降低风险,您还可以包括:
- 使用监控工具来检查服务是否正常运行并达到预期的积极结果
- 安排通知,以便可以何时开始和完成维修仍然在停机时间范围内
- 使用聚类(如
pcs
)- 更新辅助节点、重新启动、使其成为主节点等。