Openvz
伺服器神秘重啟
我有一個幾乎每天都會執行重啟的 VPS。我今天終於設法從我的日誌中得到了一個線索
May 12 03:14:49 sshd[19379]: Did not receive identification string from 173.212.118.167 May 12 03:25:03 sshd[19489]: Did not receive identification string from 82.248.74.71 May 12 03:25:15 sshd[19493]: Did not receive identification string from 98.249.28.85 May 12 03:30:25 shutdown[19545]: shutting down for system halt May 12 03:30:29 init: Switching to runlevel: 0 May 12 03:30:34 saslauthd[1654]: server_exit : master exited: 1654 May 12 03:30:34 sshd[1656]: Received signal 15; terminating. May 12 03:30:34 sshd[1655]: Received signal 15; terminating. May 12 03:30:35 kernel: Kernel logging (proc) stopped. May 12 03:30:35 kernel: Kernel log daemon terminating. May 12 03:30:35 syslog-ng[364]: Termination requested via signal, terminating; May 12 03:30:35 syslog-ng[364]: syslog-ng shutting down; version='3.2.2' May 12 03:34:23 syslog-ng[388]: syslog-ng starting up; version='3.2.2' May 12 03:34:24 ifup: lo May 12 03:34:24 ifup: lo May 12 03:34:24 ifup: IP address: 127.0.0.1/8
看起來像一個程序自願執行了重新啟動。這似乎每天都在同一時間發生。幸運的是,停機時間很短。
我檢查了 cron 作業以查看是否有任何相關條目,但沒有。奇怪的是,重新啟動通常使用執行級別 6,而不是 0。執行級別 0 應該關閉伺服器,但它會在幾秒鐘內重新啟動。
我能做些什麼來找到更多關於這個的資訊?
根據您的日誌,有些東西正在呼叫該
shutdown
實用程序來執行關機。我會(暫時)用/sbin/shutdown
記錄一堆資訊的腳本替換,如下所示:#!/bin/bash set > /shutdown.env ps auxfwww > /shutdown.ps
然後,您可以查找
PPID=
in/shutdown.env
,並查看/shutdown.ps
該 pid 是什麼。
chmod +x
(安裝到位後不要忘記腳本。我會執行一次以確保它有效)。
您日誌中的這一行
init: Switching to runlevel: 0
並不意味著未使用執行級別 6:可能是,因為您的伺服器確實重新啟動。檢查
last reboot
它是否是正常事件。如果是這樣,請重新檢查所有 cron 作業;last 還會顯示伺服器重新啟動時誰已登錄。檢查 sudo 日誌(您可能需要啟用 sudo 日誌記錄)。
您也可以嘗試使用 此處
auditctl -a entry,always -S reboot
描述的審核機制