Linux 服务监控脚本
Linux 服务监控脚本
个人搭建的zabbix服务器因性能问题总是关闭,所以写了个脚本对zabbix-server服务进行监控。当服务停止时,脚本会自动拉起服务并记录日志,方面定位排查。
[root@elttwl ~]# vim /opt/scripts/zabbix-monitor.sh #!/bin/bash SERVICE=zabbix-server while true do systemctl status $SERVICE > /dev/null if [ $? -gt 0 ]; then DATE=`date "+%Y-%m-%d %H:%M:%S"` STATE="service is not running." echo $STATE echo $DATE $STATE >> /var/log/zabbix-monitor/zabbix-monitor.log systemctl start $SERVICE echo "service is started." else echo "service is running." fi sleep 60 done
通过创建Systemd服务使脚本长期稳定运行
[root@elttwl ~]# vim /etc/systemd/system/zabbix-monitor.service [Unit] Description=Zabbix-server service monitor After=network.target [Service] Type=simple User=root # 监控脚本的路径 ExecStart=/bin/bash /opt/scripts/zabbix-monitor.sh Restart=on-failure RestartSec=5 [Install] WantedBy=mutil-user.target
执行以下命令使Systemd重新加载配置文件
systemctl daemon-reload
启动服务并设置开机自启
# systemd文件的名字即为服务的名字 systemctl start zabbix-monitor.service systemctl enable zabbix-monitor.service
欢迎大家转载!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统