ubuntu18.04 上部署自动重启的 python 程序机器人

avatar
(Edited)

这两天,需要远程部署一个 python 程序机器人,要求始终在线,但也不能同时由多个实例在运行.

0.jpg

因此需要分步实现:

  1. 定期检测 python 程序机器人是否在线?如果不在线,需要重启
  2. 定期检测 python 程序机器人是否存在多个实例同时在线?关闭多余实例.

比如 python 程序机器人的程序文件为:/home/downvoter/bot.py

编写一个控制的shell程序:/home/downvoter/bot.sh

#! /bin/bash

source /home/downvoter/.bashrc

case "$(pgrep -f "python /home/downvoter/bot.py" | wc -w)" in

0)  echo "Starting bot:     $(date)" >> /var/log/bot.log
    python /home/downvoter/bot.py &
    ;;
1)  echo "Restarting bot:     $(date)" >> /var/log/bot.log
    kill $(pgrep -f "python /home/downvoter/bot.py")
    python /home/downvoter/bot.py &    
    ;;
*)  echo "Removed double bot and restarting: $(date)" >> /var/log/bot.log
    kill $(pgrep -f "python /home/downvoter/bot.py")
    python /home/downvoter/bot.py &
    ;;
esac

测试成功
屏幕快照 2020-01-28 下午3.54.19.png



0
0
0.000
4 comments
avatar

牛!真好我们的机器人也要远程部署,可以借鉴一下这个神操作.
!shop

0
0
0.000
avatar

你好鸭,downvoter!

@chinesebi给您叫了一份外卖!

@wongshiying 老王 迎着台风 开着宝马 给您送来
埃塞俄比亚咖啡

吃饱了吗?跟我猜拳吧! 石头,剪刀,布~

如果您对我的服务满意,请不要吝啬您的点赞~
@onepagex

0
0
0.000