参考链接
https://github.com/ossrs/srs/wiki/v1_CN_SampleRTMP
1.获取srs
git clone https://github.com/ossrs/srs
2.编译SRS
cd srs/trunk
./configure && make
3. 启动应用
./objs/srs -c conf/realtime.conf &
4.在srs/trunk目录下新建reloadSrs.sh重启脚本
#!/bin/bash
# 运行记录日志
runlog=/root/srs/trunk/reload.log
# 切换到脚本的工作目录
cd /root/srs/trunk
# 首先以正常的方式(尝试)结束掉srs服务的进程,静默结束
pgrep srs |xargs kill -15 &>/dev/null
# 休息1秒,让出1秒时间充分地停止进程
sleep 1
# 检查一下srs有没有被成功的结束,首先判断一下执行kill -15以后是否残留有srs服务的进程
processnum=$(pgrep srs |wc -l)
# 如果srs进程数量大于0,则自动让脚本采用强制进程结束的方式快速终止srs进程;
if [[ "$processnum" -gt "0" ]];then
pgrep srs |xargs kill -9 &>/dev/null
# 发送wait指令,kill -9 一旦执行完毕脚本立刻执行接下来的操作
wait
fi
# 记录停止服务的时间,时间格式的呈现:11/30/13 06:25:37
echo "$(date +"%D %T") service srs stoped" >>$runlog
# 执行你的启动命令 ,静默启动
./objs/srs -c ./conf/realtime.conf &>/dev/null
# 休息1秒,让出1秒时间充分地让srs进程启动完毕
sleep 1
# 统计启动命令执行后srs进程的数量
processnum=$(pgrep srs |wc -l)
# 如果进程的数量大于0,记录服务成功启动;
if [[ "$processnum" -gt "0" ]];then
echo "$(date +"%D %T") service srs start sucess" >>$runlog
# 否则(进程数量等于0),记录服务启动失败;
else
echo "$(date +"%D %T") service srs start fail" >>$runlog
fi
4.启动定时执行重启任务 crontab -e
30 9 * * * sh /root/srs/trunk/reloadSrs.sh &>/dev/null
网友评论