supervise维持进程任务自动重启

在项目中总会存在一些意想不到的的问题,导致任务出错中断停止,我们需要去监控任务的执行状态,并当进程执行失败的时候进行重启。虽然在工程化的项目中我们可以创建系列任务来进行监控,但是我们在进行小型的实验,测试数据,晚上运行脚本的情况下,可以直接使用linux的的supervise工具直接进行监控。

supervise

supervise安装

wget http://cr.yp.to/daemontools/daemontools-0.76.tar.gz
tar xvzf daemontools-0.76.tar.gz
cd admin/daemontools-0.76
  • 编辑conf-cc
    在conf-cc The will be used to compiles to file.c前加上
vi src/conf-cc
-include /usr/include/errno.h 
  • 安装supervise
sudo package/install 
  • 检查安装
cat /etc/inittab 

supervise 维持 inotify-tools持续运行

inotify-tools安装与使用

编写inotify-tools的启动脚本

#!/bin/bash
#filename watchdir.sh
path=$1
/usr/local/bin/inotifywait -mrq --timefmt '%d/%m/%y/%H:%M' --format '%T %w %f' -e modify,delete,create,attrib $path

编写run文件,因为supervise默认运行的是run文件

#! /bin/bash
cd /opt/docker-sh
bash watchdir.sh /data

运行命令:

root@hadoop:/opt/docker-sh# sudo supervise /opt/docker-sh

即启动了对inotify-tools的监控。

你可能感兴趣的:(supervise维持进程任务自动重启)