我有一个 Unix 服务器,每隔几分钟就会重新启动一次。我尝试通过在调用重新启动时记录进程树来追踪问题的根源,如所述这个问题的答案。
但是,我不明白下一步该看哪里。
日志包含这些行(以及许多其他行):
root 1 0 0 16:49 ? 00:00:00 /sbin/init
root 2894 1 0 16:53 ? 00:00:00 /bin/bash /sbin/shutdown -r now Control-Alt-Delete pressed
对我来说,服务器的启动过程似乎正在调用重新启动shutdown -r
。在系统日志中,我只看到这一行:
sshd[2433]: Received signal 15; terminating.
此外,这是一个 Amazon Web Service Unix 实例,仅允许来自我的 IP 地址的连接。它还受私钥保护。
接下来我可以采取哪些步骤来找到问题的根源?
答案1
好吧,无论做什么,都是这样做的根所以请检查一下/var/log/auth.log
是否有人正在以身份登录根或者行政在此期间或使用须藤以获得root权限。您可能需要提高日志记录级别/etc/ssh/ssd_config
才能获取相关详细信息。
其他的事情是:
- 查看
/etc/passwd
哪些帐户根或者行政并且有巴什为其帐户定义的外壳。如果他们有主目录,请查看他们的 .bashrc 文件中是否定义了任何奇怪的内容。 - 查看您的机器上启动时出现了哪些守护进程。看这个帖子了解详情。其中任何一个重新启动有什么原因吗?
- 登录为根并通过检查您的批处理作业
crontab -e
。在您的示例中,会话大约 5 分钟后就会重新启动。有什么从此开始吗定时任务大约以那个间隔归档?该队列中的所有内容都会得到根不管它的源代码来自哪里。 - 为了消除硬件错误的可能性,您可以尝试启动一个实例该服务器在另一个亚马逊地区以确保这种情况发生在不同的硬件上。
- 是这个吗实例一直这样还是过了一段时间才开始出现这种情况?你有备份吗(亚马逊急性心肌梗死整个事情的一部分,以便您可以返回到以前的版本,看看它们是否仍然表现出这种行为?注意:永远都不够急性心肌梗死备份!