☰
Linux环境下,定时任务重启系统服务脚本
2026/10/10 6:03:56 网站建设 项目流程

某财务系统因大量打印账表,导致系统卡顿,需要重启系统释放资源。为了防止每天加班只为重启系统服务,本人编写了以下脚本,用于定时重启系统服务。

1.创建shell文件

vim server_restart.sh

脚本内容:

注意:有些程序不可以直接kill会造成数据丢失,需要用其他方式关闭进程。

#!/bin/bash #获取服务的pid和ppid server_pid=$(ps -ef | grep -m 1 server_name | awk -F " " '{print $2}') server_ppid=$(ps -ef | grep -m 1 server_name | awk -F " " '{print $3}') #判断进程存在则杀死进程 if [[$server_pid != '' && $server_ppid != '']] then echo '杀死进程' kIll -9 $server_pid $server_ppid fi $check_pid=$(ps -ef | grep -m 1 server_name | awk -F " " '{print $2}') #判断是否kill成功 if [[$check_pid != $server_pid]] then echo "启动服务" cd /path #服务启动文件路径 ./server_name #启动服务 else echo "程序未杀死" fi

正常情况下可以不用加判断,为了保险起见我还是加上两个if判断。脚本保存后需要设置执行权限:

chmod +x server_restart.sh

2.通过Linux环境中自带的crond实现定时功能。

crontab -e

设置每天凌晨两点触发脚本:

MAILTO="" #邮件路径为空,不保存邮件 0 2 * * * /PATH/server_restart.sh #脚本存放的路径

做完以上操作,就可以实现定时重启系统服务的功能了

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询