1.创建脚本
我在这里给大家演示就随便创建个文件名 如:
vim /nginxXJ.sh
#!/bin/bash
# 检查 Nginx 是否正在运行
nginx=$( ps -ef | grep nginx | grep -v grep | grep root | awk '{print $2}')
if [ -z "$nginx" ]; then
echo "====Nginx 没有启动,尝试重启中,请稍等...===="# 尝试重启 Nginx
sudo systemctl restart nginx# 检查 Nginx 是否成功重启
nginx=$( ps -ef | grep nginx | grep -v grep | grep root | awk '{print $2}')if [ -n "$nginx" ]; then
echo "=======Nginx 启动成功...=========="
else
echo "======无法重启 Nginx...========="
fi
else
echo "=====Nginx 已启动...====="
fi
nginx=$( ps -ef | grep nginx | grep -v grep | grep root | awk '{print $2}')
变量的形式用nginx来代替以下代码 | 用来分割多条代码
ps -ef列出所有进程,并通过grep查找与 Nginx 相关的进程。grep -v grep用于排除grep本身的进程。grep root只查找由 root 用户启动的 Nginx 进程。awk '{print $2}'提取进程 ID (PID)。
2.设置定时巡检
crontab -e
30 8 * * 1 /nginxXJ.sh
解释
30: 分钟字段,表示在每小时的第 30 分钟。8: 小时字段,表示在上午 8 点。*: 日期字段,表示每个月的每一天。*: 月份字段,表示每年的每个月。1: 星期字段,表示每周的第一天(星期一)。
/nginxXJ.sh 为路径文件
运行 crontab -e 会打开当前用户的 cron 表以进行编辑。默认情况下,它通常会在 vi 或 nano 编辑器中打开,具体取决于你的系统配置。
-
第一个星号 (分钟):
0-59- 表示任务将在每小时的每一分钟执行。用
*表示每一分钟都执行。如果是*/5,则表示每5分钟执行一次。
- 表示任务将在每小时的每一分钟执行。用
-
第二个星号 (小时):
0-23- 表示任务将在每天的每个小时执行。用
*表示每个小时都执行。
- 表示任务将在每天的每个小时执行。用
-
第三个星号 (日):
1-31- 表示任务将在每月的每一天执行。用
*表示每一天都执行。
- 表示任务将在每月的每一天执行。用
-
第四个星号 (月):
1-12- 表示任务将在每年的每一个月执行。用
*表示每个月都执行。
- 表示任务将在每年的每一个月执行。用
-
第五个星号 (星期):
0-6(0 = 日)- 表示任务将在每周的每一天执行。用
*表示每一天都执行。
- 表示任务将在每周的每一天执行。用
3612

被折叠的 条评论
为什么被折叠?



