如何使用 CRON 监控 Systemd 服务 ?

持续的运行服务对于平稳运行你的 Linux 系统至关重要。有一个检测机制是很重要的,当服务关闭并自动重启它,这样可以最小化停机时间。
在本文中,我们将讨论如何使用 cron jobs 来监控服务状态,实现自动重启服务。
保持服务运行的重要性
服务是任何 Linux 系统的支柱,它们给用户和应用程序提供了必要的功能。确保关键服务的持续可用性,如 web 服务器、数据库服务器和邮件服务器对于维护系统性能和可靠性至关重要。当服务出现故障时,可能会导致停机,数据损失,生产力下降。作为系统管理员,您必须做好服务状态的监控措施,并迅速解决任何出现的问题。
使用 Cron Job 检查服务状态
可以设置 一个 cron job 监视服务状态,该作业定期检查服务是否正在运行。在这个例子中,我们会监察 SSHD 服务:
#!/bin/bash
SERVICE="sshd"
STATUS="$(systemctl is-active $SERVICE)"
if [ "$STATUS" != "active" ]; then
echo "Service $SERVICE is not running"
systemctl restart $SERVICE
echo "Service $SERVICE has been restarted"
else
echo "Service $SERVICE is running"
fi
将此脚本保存为 check_service_status.sh,并给脚本添加执行权限。
chmod +x check_service_status.sh
编辑用户计划任务,添加检查任务
crontab -e
添加以下行,每 5 分钟运行一次脚本:
*/5 * * * * /path/to/check_service_status.sh
我的开源项目
评论已关闭
