![系统死机时如何自动重启](https://linux22.com/image/207782/%E7%B3%BB%E7%BB%9F%E6%AD%BB%E6%9C%BA%E6%97%B6%E5%A6%82%E4%BD%95%E8%87%AA%E5%8A%A8%E9%87%8D%E5%90%AF.png)
我在一家银行工作,我们一直在处理一个问题:我们的提款机总是冻结,每次冻结时我们都需要重置它才能恢复正常。但现在我们是手动完成的,所以我们花了一整天的时间使用远程访问软件监控提款机,每次看到冻结的 ATM 时,我们都会远程重新启动它。整天这样做可能会非常紧张和疲惫,所以问题是:有没有办法让系统在每次 ATM 软件死机时重新启动?操作系统是Linux/Debian。
答案1
首先:我确实遇到了一个冻结的linux,原因是:
硬件问题(RAM 模块、硬盘、PCI 卡故障)
不兼容的内核模块,编译错误的内核
黑客入侵
为了进行诊断,我通常会打开 SSH 服务器来测试系统是否真的冻结了。
您需要的设备称为看门狗。这种设备通常连接到串行端口(或任何其他简单的信号线),其处理是等待定期接收简单信号 - 例如,它期望每分钟接收一个字符串:“OK(CR)”。如果没有出现这样的信号,设备拉动CPU芯片的复位引脚。系统必须每分钟发送该字符串。此类行为可以通过配置cron
,但由于各种原因,系统可能无法及时捕获。时间不同步的任务可以由看门狗稍后完成,anacron
但不可能通过看门狗完成。为此,最好使用 RT 内核或仔细设置看门狗周期。 (设置设备等待5分钟,但系统每2分钟发送一次)
无论如何,这不仅仅是软件解决方案。
我的建议是:首先检查系统,进行全新安装并将其保存为磁盘映像(以便更好更快地恢复,以便以后与损坏的系统进行比较),使您的会计子网更加安全(使用私有地址范围) ,用NAT、防火墙隔离。);在这样的子网中构建一个日志服务器并配置您的 Linux 机器以将其日志发送到它。
只是让您的系统更加健壮、安全和详细。