Linux 写一个自动重启服务的脚本


Linux自动重启服务有两个稳妥方案:一是用cron定时执行systemctl重启脚本,适用于周期性维护;二是用systemd托管的守护脚本定期检测端口或服务状态,异常时自动重启,适用于高可用场景。

linux 写一个自动重启服务的脚本

Linux 上自动重启服务,核心是用 systemctl 控制服务状态,并配合定时任务(cron)或条件检测逻辑实现“自动”。下面提供两个常用、稳妥的方案:一个是简单可靠的定时重启(适合周期性维护),另一个是按需检测+重启(适合服务意*掉的场景)。

方案一:用 cron 定时重启服务(推荐用于计划性维护)

适用于希望每天/每周固定时间重启某服务(比如 nginx、redis、docker 等),避免内存泄漏或连接堆积。

步骤:

  • 写一个重启脚本,例如 /opt/scripts/restart-nginx.sh
#!/bin/bash
# 检查服务是否运行,再执行重启(更安全)
if systemctl is-active --quiet nginx; then
    systemctl restart nginx
    echo "$(date): nginx restarted successfully" >> /var/log/nginx-restart.log
else
    echo "$(date): nginx was not running, starting instead" >> /var/log/nginx-restart.log
    systemctl start nginx
fi
  • 赋予执行权限:chmod +x /opt/scripts/restart-nginx.sh
  • 添加到 crontab(如每天凌晨 4:30 执行):
    crontab -e,加入一行:
30 4 * * * /opt/scripts/restart-nginx.sh

方案二:后台守护式检测并重启(适合关键服务高可用)

适用于不能容忍长时间中断的服务(如数据库、API 后端)。脚本常驻运行,定期检查进程或端口,异常则拉起。

示例:检测 8080 端口是否响应,不响应就重启 myapp.service

Android服务Service_详解 WORD版 Android服务Service_详解 WORD版

本文档主要讲述的是Android服务Service_详解;服务(Service)是Android系统中4个应用程序组件之一(其他的组件详见3.2节的内容)。服务主要用于两个目的:后台运行和跨进程访问。通过启动一个服务,可以在不显示界面的前提下在后台运行指定的任务,这样可以不影响用户做其他事情。通过AIDL服务可以实现不同进程之间的通信,这也是服务的重要用途之一。希望本文档会给有需要的朋友带来帮助;感兴趣的朋友可以过来看看

Android服务Service_详解 WORD版 0 查看详情 Android服务Service_详解 WORD版
#!/bin/bash
SERVICE_NAME="myapp"
CHECK_PORT=8080
<p>while true; do
if ! nc -z 127.0.0.1 $CHECK_PORT 2>/dev/null; then
echo "$(date): Port $CHECK_PORT down, restarting $SERVICE_NAME..."
systemctl restart $SERVICE_NAME
sleep 5  # 避免重启过快失败
fi
sleep 30  # 每30秒检查一次
done

使用建议:

  • 保存为 /opt/scripts/watch-myapp.sh,加执行权限
  • 用 systemd 管理该监控脚本(比直接放后台更可靠):
    新建 /etc/systemd/system/watch-myapp.service
[Unit]
Description=Watch and restart myapp service
After=network.target
<p>[Service]
Type=simple
User=root
ExecStart=/opt/scripts/watch-myapp.sh
Restart=always
RestartSec=10</p><p>[Install]
WantedBy=multi-user.target
  • 启用并启动:systemctl daemon-reload && systemctl enable --now watch-myapp.service

注意事项

避免踩坑的关键点:

  • 脚本中尽量用 systemctl is-active --quietnc/curl 做真实状态判断,别只靠 ps | grep
  • 重启前加日志,方便排查误触发
  • 如果是生产环境,重启前可加锁或健康检查(比如调用服务自身健康接口)
  • 不要在 root 的 crontab 里用 sudo systemctl,直接用 root 权限跑即可

基本上就这些。选方案一还是二,取决于你想要“按时重启”还是“出问题才动”。两者都轻量、可审计、易维护。

以上就是Linux 写一个自动重启服务的脚本的详细内容,更多请关注其它相关文章!


# redis  # linux  # 一文  # 如何选择  # 看不懂  # 最容易  # 适用于  # 重启  # red  # curl  # 后端  # 端口  # app  # nginx  # docker  # 自动重启  # google关键词排名突然消失  # 酒泉seo搜索优化平台  # seo课堂教学视频  # 保险营销视频号推广方案  # 杭州短视频推广seo  # 荆门seo排名前十  # 网站建设模块管理规范要求  # 寿光seo网站推广  # 可靠的企业网站建设  # 鞍山公司网站建设优化公司  # 文档  # 的是 


相关栏目: 【 Google疑问12 】 【 Facebook疑问10 】 【 优化推广96088 】 【 技术知识133117 】 【 IDC资讯59369 】 【 网络运营7196 】 【 IT资讯61894


相关推荐: firefox火狐浏览器最新官网主页_ firefox火狐浏览器平台入口直达官方链接  QQ阅读小说搜索入口地址_QQ阅读小说搜索入口地址搜索在线阅读  126邮箱申请入口官网_126邮箱注册免费登录2025  百度识图图像分析 百度识图识别平台  《火花chat》搜索好友方法  鸿蒙单条备忘录如何加密  小红书网页版怎么进 小红书网页版通用入口  三角洲行动2025年9月10日摩斯密码分享  mysql怎么查询数据_mysql基础查询语句使用教程  C#中的Record类型有什么优势?C# 9新特性Record与Class的用法区别  PHP动态导航按钮:根据用户登录状态切换链接与文本  《via浏览器》强制缩放网页设置方法  Cassandra中复合主键、二级索引与ORDER BY排序的限制与解决方案  如何在mysql中比较InnoDB和MyISAM区别  店铺如何关联视频号推广?视频号推广有什么用?  sublime text 4如何安装_最新版sublime下载与汉化教程  QQ邮箱注册地址 免费获取QQ邮箱账号  《梦想世界:长风问剑录》药师一图流分享  如何在CSS中使用伪类:valid实现表单验证提示_结合:valid改变边框颜色  SQL聚合查询、联接与筛选:GROUP BY 子句的正确使用与常见陷阱  更换小红书群背景怎么换?小红书群规则怎么设置?  Go反射进阶:访问内嵌结构体中的被遮蔽方法  外媒评《燕云十六声》DIY载具新玩法:很像《塞尔达传说王国之泪》!  中通快递官网指定查询 中通快递单号查询平台入口  使用Google服务账号实现Google Drive API无缝集成与文件访问  苹果手机缓存怎么清除_苹果手机缓存如何清除iphone各版本操作步骤  《一起考教师》账号注销方法  如何在Python中安全地将环境变量转换为整数并满足Mypy类型检查  mysql导入sql文件能分批导入吗_mysql分批次导入大sql文件的实用技巧  QQ网页版官方账号登录入口 QQ网页版网页版入口快速导航  《下一站江湖2》独孤剑诀习得方法  AI图层蒙版怎么用_AI图层蒙版应用技巧与设计实例  《战地6》反作弊已成功拦截240万次作弊 发售第一周98%比赛没有作弊  win11怎么设置默认终端为Windows Terminal Win11替代CMD和PowerShell【技巧】  Sublime怎么自动添加CSS前缀_Sublime安装Autoprefixer插件  在Peewee中处理PostgreSQL记录重复:一站式数据摄取教程  163邮箱网页版入口 163邮箱在线使用  RxJS中如何高效地在一个函数内处理和合并多个数据集合  视频号视频怎么免费保存到相册?保存到相册需要注意什么?  国际经济与贸易就业方向解析  FotoBalloon图片左右镜像教程  263企业邮箱如何设置邮件转发功能  解决VS Code中Python版本冲突与输出异常的指南  解决SQLAlchemy模型跨文件关联的Linter兼容性指南  动漫之家观看全集库 动漫之家免费资源网地址  《伊瑟》凶影追缉库卢鲁boss攻略  iPhone14开启Apple TV遥控设置  Sublime Text怎么关闭自动完成_Sublime禁用Auto Complete设置  Python中深度嵌套字典与列表的数据提取与条件过滤指南  基于 Flink 和 Kafka 实现高效流处理:连续查询与时间窗口 

 2025-12-05

了解您产品搜索量及市场趋势,制定营销计划

同行竞争及网站分析保障您的广告效果

点击免费数据支持

提交您的需求,1小时内享受我们的专业解答。

运城市盐湖区信雨科技有限公司


运城市盐湖区信雨科技有限公司

运城市盐湖区信雨科技有限公司是一家深耕海外推广领域十年的专业服务商,作为谷歌推广与Facebook广告全球合作伙伴,聚焦外贸企业出海痛点,以数字化营销为核心,提供一站式海外营销解决方案。公司凭借十年行业沉淀与平台官方资源加持,打破传统外贸获客壁垒,助力企业高效开拓全球市场,成为中小企业出海的可靠合作伙伴。

 8156699

 13765294890

 8156699@qq.com

Notice

We and selected third parties use cookies or similar technologies for technical purposes and, with your consent, for other purposes as specified in the cookie policy.
You can consent to the use of such technologies by closing this notice, by interacting with any link or button outside of this notice or by continuing to browse otherwise.