Linux定时执行脚本能重启什么服务器,定时重启脚本命令详解

linux定时执行脚本重启服务器,最常用的方案是crontab配合systemd或init.d服务管理脚本,核心就是先写一个健壮的重启脚本,再用cron按计划触发,整个过程半小时能搞定。这篇文章不讲虚的,直接给你可落地的脚本模板、操作命令和避坑点。

linux定时重启服务器的脚本怎么写

解决”怎么定时”之前,先解决”怎么重启”,很多人在这一步翻车:直接把systemctl restart nginx写进crontab,结果服务没起来,原因多半是脚本里缺少环境变量或路径写死。

先确认你的服务跑在什么进程管理下

现在主流Linux发行版(CentOS 7+、Ubuntu 16+、Debian 8+)都用systemd,用systemctl restart 服务名,老一点的CentOS 6或Ubuntu 14用init.d,用service 服务名 restart。

不确定就执行这条命令看结果:

ps -p 1 -o comm=

输出systemd就是新方案,输出init就是旧方案,行业共识认为,2026年还在用init.d的生产环境已经相当少了,遇到老系统建议先迁移到systemd再谈定时重启。

三个拿来即用的重启脚本模板

以常见的三个服务为例,脚本放在

Linux定时执行脚本能重启什么服务器,定时重启脚本命令详解

/usr/local/bin/下,记得加执行权限chmod +x。

重启nginx的脚本(reload方式,不中断连接):

#!/bin/bash
# /usr/local/bin/restart_nginx.sh
nginx -t > /tmp/nginx_check.log 2>&1
if [ $? -eq 0 ]; then
    systemctl reload nginx
    echo "$(date '+%Y-%m-%d %H:%M:%S') nginx reload ok" >> /var/log/nginx_reload.log
else
    echo "$(date '+%Y-%m-%d %H:%M:%S') nginx config error, skip reload" >> /var/log/nginx_reload.log
fi

先做nginx -t配置检查,失败就不重载,防止把自己搞挂。

重启tomcat的脚本(优雅停机,等JVM退出):

#!/bin/bash
# /usr/local/bin/restart_tomcat.sh
CATALINA_HOME=/opt/tomcat
PID=$(ps -ef | grep catalina | grep -v grep | awk '{print $2}')
if [ -n "$PID" ]; then
    $CATALINA_HOME/bin/shutdown.sh
    # 最多等60秒,超时强杀
    for i in $(seq 1 12); do
        sleep 5
        if ! kill -0 "$PID" 2>/dev/null; then
            break
        fi
    done
    kill -9 "$PID" 2>/dev/null
fi
$CATALINA_HOME/bin/startup.sh

tomcat直接kill -9会导致未落盘的session丢失,多数情况下先走shutdown.sh等5秒,不行再强杀。

Linux定时执行脚本能重启什么服务器,定时重启脚本命令详解

重启MySQL的脚本(依赖systemd,带健康检查):

#!/bin/bash
# /usr/local/bin/restart_mysql.sh
systemctl restart mysqld
# 循环等端口起来
for i in $(seq 1 30); do
    if mysqladmin ping -uroot -p'你的密码' --silent 2>/dev/null; then
        echo "$(date) mysql restart ok" >> /var/log/mysql_restart.log
        exit 0
    fi
    sleep 2
done
echo "$(date) mysql restart timeout" >> /var/log/mysql_restart.log
exit 1

把脚本挂进crontab,就这两行命令

crontab -e

然后写入一行:

30 2    /usr/local/bin/restart_nginx.sh

这行含义是每天凌晨2:30执行一次nginx重启脚本,五个位置依次是:分、时、日、月、周,常用写法:

  • 30 2 :每天2:30
  • 0 /6 :每6小时执行一次
  • 30 2 0:每周日凌晨2:30
  • 15 3 1 :每月1日凌晨3:15

保存后执行crontab -l确认写进去了,再手动跑一遍脚本看日志,完事。

Linux定时执行脚本能重启什么服务器,定时重启脚本命令详解

crontab定时重启tomcat和nginx有什么区别

同样是”重启”,tomcat和nginx的脾气完全不同,搞清楚区别,你才知道什么频率合适、要不要reload替代restart。

tomcat重启要”慢”JVM的优雅停机

tomcat是Java应用服务器,每个请求占用一个线程,JVM里有堆内存、线程池、连接池,重启意味着销毁整个JVM进程再重新拉起,这个过程中:

  • 新请求会连接失败,直到端口重新监听
  • 未完成的业务会被中断
  • 启动阶段要加载类、初始化连接池,耗时通常在10秒到1分钟不等

所以tomcat的定时重启不能太频繁,一天一次在低峰期(比如凌晨2-3点)就够,如果每天都要重启tomcat才能稳住,大概率是内存泄漏,该去调JVM参数而不是靠定时任务续命。

nginx重启可以”快”reload机制

nginx是事件驱动模型,支持reload平滑重载配置,reload不中断连接,master进程重新加载配置、fork新的worker,旧的worker处理完手头请求就退出,整个过程对用户几乎无感知。

所以nginx适合用reload代替restart,定时任务崩溃的风险更低,也不用挑凌晨。

图片来源于AI模型,如侵权请联系管理员。作者:酷小编,如若转载,请注明出处:https://www.kufanyun.com/ask/818526.html

赞 (0)
上一篇 2026年9月14日 01:32
下一篇 2026年9月14日 01:37

相关推荐

  • 服务器里装什么虚拟机?怎么选才安全稳定又流畅

    服务器装什么虚拟机,不是看哪个软件名气大,而是看宿主机系统、虚拟机业务和预算三者匹配,Linux服务器起步阶段直接上Proxmox VE,Windows Server自带Hyper-V,预算充足且要大规模高可用,再考虑VMware vSphere,服务器装什么虚拟机?按业务场景对号入座很多人问“服务器装什么虚拟……

    2026年10月4日
    0700
  • 京联宽带客服怎么联系?京联宽带客服电话是多少

    京联宽带客服的核心价值在于提供极速响应、精准排查与一站式网络优化方案,而非简单的故障报修,在数字化办公与高清娱乐并行的当下,网络稳定性直接决定用户体验与业务效率,专业的京联宽带服务体系,通过智能诊断系统结合人工专家坐席,能够解决从家庭宽带卡顿到企业专线波动的全场景问题,确保网络连接的高可用性与低延迟,核心优势……

    2026年4月24日
    02103
    • 服务器间歇性无响应是什么原因?如何排查解决?

      根源分析、排查逻辑与解决方案服务器间歇性无响应是IT运维中常见的复杂问题,指服务器在特定场景下(如高并发时段、特定操作触发时)出现短暂无响应、延迟或服务中断,而非持续性的宕机,这类问题对业务连续性、用户体验和系统稳定性构成直接威胁,需结合多维度因素深入排查与解决,常见原因分析:从硬件到软件的多维溯源服务器间歇性……

      2026年1月10日
      020
  • PHP怎么连接MySQL?PHP连接数据库代码怎么写?

    在现代PHP开发中,建立与MySQL数据库的稳健连接是后端架构的基石,核心结论是:必须使用PDO(PHP Data Objects)扩展进行数据库连接,摒弃已废弃的mysql_函数,并谨慎使用mysqli,PDO不仅提供了统一的API,更通过预处理语句从根本上解决了SQL注入风险,是当前最专业、最权威的连接方案……

    2026年2月24日
    02265
  • lol服务器不稳定是什么原因

    LOL服务器不稳定多半不是官方机房整体瘫痪,而是玩家本地网络、运营商骨干线路与游戏服务器之间链路波动共同作用的结果,其中本地网络问题占到了相当大比例,很多玩家一遇到卡顿、掉线,第一反应就是骂官方服务器,但实际排查中你会发现,真正由腾讯机房故障导致的全服性崩溃,近年来越来越少见,反而是你自己的网络路径上,某个节点……

    2026年8月20日
    01234

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

评论列表(3条)

  • 大果8748的头像
    大果8748 2026年9月14日 01:36

    这篇文章写得非常好,内容丰富,观点清晰,让我受益匪浅。特别是关于重启的部分,分析得很到位,给了我很多新的启发和思考。感谢作者的精心创作和分享,期待看到更多这样高质量的内容!

    • 山山463的头像
      山山463 2026年9月14日 01:37

      @大果8748:读了这篇文章,我深有感触。作者对重启的理解非常深刻,论述也很有逻辑性。内容既有理论深度,又有实践指导意义,确实是一篇值得细细品味的好文章。希望作者能继续创作更多优秀的作品!

  • 雪雪1852的头像
    雪雪1852 2026年9月14日 01:37

    读了这篇文章,我深有感触。作者对重启的理解非常深刻,论述也很有逻辑性。内容既有理论深度,又有实践指导意义,确实是一篇值得细细品味的好文章。希望作者能继续创作更多优秀的作品!