Ubuntu 如何使用crontab 定时检查srs进程

用了几年srs,优秀 优秀 优秀的很 视频服务,简单易用,关键纯国产免费还有一堆的技术人员开发改进。

1. srs的简单介绍:

是一个简单高效的实时视频服务器,支持RTMP/WebRTC/HLS/HTTP-FLV/SRT。

http://www.ossrs.net/

2. 最近遇到点问题,偶尔srs 会异常退出,其实我已经用几年了最近才出现重启问题,我们需要实时24小时提供服务,可能不能掉链子。

作者 杨老大 提供了 WiKi:

https://github.com/ossrs/srs/wiki/v3_CN_LinuxService

3. 开始我没找到作者提供的LinuxService, 我们搞了个简单crontab,简单能用,分享下给大家。

4. 运行环境:

    操作系统:  Ubuntu 16.04.2 LTS

    srs 版本: srs-3.0-r2

    安装目录:/etc/srs/srs-3.0-r2

5. 在/etc/srs 目录下新建 srsmonitor.sh, 复制下面的脚本,记得按自己的安装目录改下

proc_name 的变量,里面是你的需要查找的srs 进程名字,不能简单的输入 srs,因为我们可能我们正好在 tail -f srs.log ,自己也可以测试下 ps -ef | grep "objs/srs" 验证下。

然后修改srs的启动命令,记得先用cd 到你的根目录,然后再启动。

#! /bin/sh

host_dir=`echo ~`  
proc_name="objs/srs"
file_name="/etc/srs/srsmonitor.log" 
pid=0

proc_num()   
{
    num=`ps -ef | grep $proc_name | grep -v grep | wc -l`
    return $num
}

proc_id()     
{
    pid=`ps -ef | grep $proc_name | grep -v grep | awk '{print $2}'`
}

proc_num
number=$?
echo "start" >> $file_name
echo $number, `date` >> $file_name
if [ $number -eq 0 ]                              
then 
    cd /etc/srs/srs-3.0-r2/trunk && ./objs/srs -c ./conf/srs.conf
                                                       
    proc_id               
    echo "restart" >> $file_name       
    echo ${pid}, `date` >> $file_name    
fi

弄好了文件,接下来自己在命令行下运行下 sh srsmonitor.sh 看看效果,分别在srs运行的时候和没运行的时候执行测试下,是否能自动把 srs启动起来,如果成功了 就下一步。

6. 添加定时任务

   crontab -e

*/1 * * * * sh /etc/srs/srsmonitor.sh

直接复制过去,意思是1分钟执行一次 srsmonitor.sh,如果你的目录不同记得改下目录。

7. 可以看下执行日志 tail -f /etc/srs/srsmonitor.log

8. 再有问题,翻阅 srs 的WiKi吧。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值