• 欢迎访问水熊虫网站,这里是我个人的工作博客,内容大多是遇到问题完善后,会在这里进行总结归纳内容! QQ群
  • 网站导航中的友情链接专栏上线,更新的都是自己这三年整理的一些东西,感兴趣可以看看!
  • 你所浪费的今天,是昨天死去的人奢望的明天。你所厌恶的现在,是未来的你回不去的曾经!

使用定时任务cron监视Shadowsocks进程

脚本 WaterBear 5年前 (2019-02-03) 733次浏览 已收录 扫描二维码

有时候我们需要监视一下某个进程的持续运行,当遇到某种不可控因素导致进程被杀掉的情况下,就需要自动重新启动,以保证服务的可持续性。
比如,监控 Shadowsocks 服务端的运行状态。
于是写了个监视脚本 shadowsocks-crond.sh,自动监视,一旦发现进程不存在便会重新启动。每次监视事件都会写入日志。

下面介绍安装和使用步骤。

一、下载安装

首先需要将脚本下载到某个固定路径下,比如 /opt 下,再赋予执行权限。
执行以下命令:

wget --no-check-certificate -O /opt/shadowsocks-crond.sh https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks-crond.sh
chmod 755 /opt/shadowsocks-crond.sh

二、检查 cron 进程

执行以下命令,检查 cron 进程是否存在:

ps -ef | grep -v grep | grep cron

如果存在返回值,则表示 cron 已经正确安装并处于启动中。
否则,则需要安装 cron。

CentOS/Redhat/Amazon 执行如下命令:

yum install -y crontabs

Debian/Ubuntu 执行如下命令:

apt-get install -y cron

三、配置 cron 计划

假设监视脚本路径就是 /opt/shadowsocks-crond.sh
假设设为每 5 分钟监视一次。
那么配置 cron 计划如下:

(crontab -l ; echo "*/5 * * * * /opt/shadowsocks-crond.sh") | crontab -

以上表示,在保留原有的 cron 设置的前提下,追加设置
*/5 * * * * /opt/shadowsocks-crond.sh
即每过 5 分钟,执行一次脚本 /opt/shadowsocks-crond.sh

这样系统便会每 5 分钟检查一下 Shadowsocks 进程是否存在,如果不存在了会自动重新启动。
脚本每次运行会写日志的,日志完整路径如下:
/var/log/shadowsocks-crond.log

示例日志:

2017-12-31 13:45:01 <a href="http://waterbear.pw/tag/shadowsocks" title="查看更多关于Shadowsocks的文章" target="_blank">Shadowsocks</a>-libev is running with pid 32566
2017-12-31 13:50:01 <a href="http://waterbear.pw/tag/shadowsocks" title="查看更多关于Shadowsocks的文章" target="_blank">Shadowsocks</a>-libev is not running
2017-12-31 13:50:01 Starting <a href="http://waterbear.pw/tag/shadowsocks" title="查看更多关于Shadowsocks的文章" target="_blank">Shadowsocks</a>-libev
2017-12-31 13:50:01 <a href="http://waterbear.pw/tag/shadowsocks" title="查看更多关于Shadowsocks的文章" target="_blank">Shadowsocks</a>-libev start success
2017-12-31 13:55:01 <a href="http://waterbear.pw/tag/shadowsocks" title="查看更多关于Shadowsocks的文章" target="_blank">Shadowsocks</a>-libev is running with pid 5089

转载请注明:秋水逸冰 » 使用定时任务cron监视Shadowsocks进程


WaterBear , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:使用定时任务cron监视Shadowsocks进程
喜欢 (0)
[[email protected]]
分享 (0)