对生产服务器中“apt-get update”的担忧

对生产服务器中“apt-get update”的担忧

我有一个服务器,它有点过时了,因为我已经有几个月没有更新它了。我想尝试 cron-apt,但首先想手动执行,所以我发出了一个

sudo apt-get update

作为第一步。一切顺利,但当我检查我的 Apache 错误日志时,我收到了一些类似这样的消息:

[error] [client xxx.xxx.xxx.xxx] exception 'MongoCursorTimeoutException' with message 'cursor timed out (timeout: 30000, time left: 0:0, status: 0)'

来自当时正在连接到我的服务器的用户。

请注意,我还没有发布 apt-get upgrade,但我有点担心仅更新包数据库会影响一些用户,特别是如果我每天执行一次这个命令的话。

我能想到的唯一解决方法是在非高峰时段执行此操作,但除了明显的假设之外,您还有其他建议吗?

答案1

这就是你应该拥有备份服务器的原因。或者至少可以在紧急情况下假装是服务器的测试环境。

  1. 升级备份服务器。
  2. 测试備份伺服器。
  3. 故障转移到备份服务器。
  4. 升级主服务器。
  5. 测试主服务器。
  6. 故障回复至主服务器。

至于apt-get update与其他东西混在一起,这应该不是问题,但如果您使用的是低功耗服务器(例如微型 VM 实例),它可能会增加 CPU 负载和内存使用量,从而减慢其他程序的速度。

相关内容