#!/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 就好 |