#!/bin/sh
while true
do
COUNT=$(ps |grep qbittorrent |grep -v grep |wc -l)
echo "current running qbittorrent process count: "$COUNT
if [ $COUNT -eq 0 ]
then
su - transmission <<EOF
/usr/bin/qbittorrent-nox --profile=/mnt/ThreeTB2/qbit_backup
echo "qbittorrent-nox process has been restarted!"
EOF
else
echo "qbittorrent-nox already started!"
fi
sleep 10
done
kill $!
以上文件放在 /mnt/ThreeTB2/qbittorrent.sh
已经添加 可执行权限
cron 脚本是 */3 * * * * /bin/ash /mnt/ThreeTB2/qbittorrent.sh > /tmp/crontab-qbittorrent-sh.log
测试的时候 用的 每隔三分钟 执行一次
但是调试了一段时间 发现并不靠谱…… 希望大神前来指点
1
AllenHua OP 重新编写了一个 `/mnt/ThreeTB2/check_qbittorrent.sh`
```bash #!/bin/bash # author: xxx # time: 2021-01-10 # program: check if qbittorrent-nox is running, if not, start it function check_qbittorrent(){ qbittorrentCount=`ps |grep qbittorrent-nox |grep -v grep |wc -l` echo "current running qbittorrent process count: "$qbittorrentCount if [ 0 == $qbittorrentCount ]; then /usr/bin/qbittorrent-nox --profile=/mnt/ThreeTB2/qbit_backup fi } check_qbittorrent ``` cron 表达式 `*/3 * * * * /bin/ash /mnt/ThreeTB2/check_qbittorrent.sh > /tmp/crontab-qbittorrent-sh.log` 似乎是 ok 了 发现了问题所在,刚刚 使用 ps 过滤程序时 应该过滤 qbittorrent-nox 才对 所以刚刚程序中的 COUNT 会出现问题 过滤 qbittorrent-nox 就好 |