我有一个服务器,它有点过时了,因为我已经有几个月没有更新它了。我想尝试 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
这就是你应该拥有备份服务器的原因。或者至少可以在紧急情况下假装是服务器的测试环境。
- 升级备份服务器。
- 测试備份伺服器。
- 故障转移到备份服务器。
- 升级主服务器。
- 测试主服务器。
- 故障回复至主服务器。
至于apt-get update
与其他东西混在一起,这应该不是问题,但如果您使用的是低功耗服务器(例如微型 VM 实例),它可能会增加 CPU 负载和内存使用量,从而减慢其他程序的速度。