美文网首页
Linux系统定时任务crontab使用

Linux系统定时任务crontab使用

作者: 程序员不会取昵称 | 来源:发表于2019-07-15 16:55 被阅读0次

原因

最近其他项目组在测试环境调用我们接口进行压测,导致项目经常挂,需要手动重启。手动重启很简单,但是每次需要自己来重启,确实挺麻烦的,特别是有时候下班了,项目挂了,他们还在测。

解决

于是写了个脚本,用Linux自带的crontab计划任务来每15分钟循环检测一下项目是否挂了,如果挂了,就自动重新执行一下启动脚本就行了。

准备

首先写一个脚本,监听端口是否已经挂了。(这里拿我服务器上的mysql作为例子,每分钟检测一下mysql是否挂了,其它的仿照着改一下就行了)
vi autorestart.sh (这个脚本用来监听端口是否存在,如果不存在则进行重启)

#!/bin/bash
now=$(date "+%Y-%m-%d %H:%M:%S")#记录当前的时间
status=$(netstat -lnp|grep ":3306 "|awk '{print $6}')#获取3306端口的状态
if test -z $status #判断status是否为空
then
   /usr/sbin/service mysql restart #service命令启动mysql,service的路径要写全
   echo "$now:进程挂了....." >> /home/gepeisong/test/test.log #将进程状态写入日志中
else
   if test "LISTEN" = $status
   then
      echo "$now:进程正在运行中....." >> /home/gepeisong/test/test.log
   else
      /usr/sbin/service mysql restart
      echo "$now:进程挂了....." >> /home/gepeisong/test/test.log
   fi
fi

接下来就只要把这个shell脚本加入crontab中循环执行,输入crontab -e,在里面加入每分钟执行一次的脚本(*/15 * * * *:每15分钟执行一次)

*/1 * * * * sh /home/gepeisong/test/autorestart.sh

输入crontab -l查看状态。

crontab -l

查看日志,可以看见每分钟执行一次。

cat test.log
网上找的关于crontab的参数介绍

相关文章

  • Linux定时任务

    Linux定时任务 centOS: 使用crontab -e //编辑 crontab -l //查看定时任务 生...

  • crontab的基本使用

    作用 crontab是linux的一项系统服务。用来在linux上面定时执行任务。crontab服务又分为系统任务...

  • linux Crontab

    Linux Crontab:Linux中用于执行定时任务的工具crontab -e:编辑定时任务crontab -...

  • linux crontab: 定时任务

    参考 crontab 定时任务 Linux之crontab定时任务

  • 如何创建systemd定时任务

    1. 如何创建一个定时任务,通过systemd系统 Linux中,可以使用crontab创建一个定时任务。 首先,...

  • Linux定时任务(1)— crontab

    执行定时任务 crontab 执行循环任务 at 执行一次性任务 crontab简介 Linux 系统有个 c...

  • Linux定时任务

    Linux定时任务Crontab命令详解 linux 系统则是由 cron (crond) 这个系统服务来控制的。...

  • linux-crontab

    最近,需要在linux中使用定时任务。cron就是计划任务的意思。crontab是类unix系统中的一种操作定时任...

  • Linux定时服务crontab的日常操作

    crontab是什么? crontab服务是linux系统下的一个周期性的定时任务执行机制。常见的使用当中,我们可...

  • 定时任务备份运维

    crontab定时任务实现定时备份 linux系统下,定时备份主要需要用到的命令是crontab,还有就是需要能够...

网友评论

      本文标题:Linux系统定时任务crontab使用

      本文链接:https://www.haomeiwen.com/subject/rgrnkctx.html