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