Crontab 没有运行整个脚本?

Crontab 没有运行整个脚本?

我在 root 下设置了一个 crontab,用于启动我编写的脚本来启动我的挖矿设备。crontab 如下所示

@reboot /etc/initminer.sh 
*/5 * * * * /etc/zombiescan.sh

我知道如果我从普通 shell 启动 zombiescan.sh,它会正常工作;它只是检查 ethminer 是否正在运行。如果没有,它会重新启动设备(我知道这很粗糙,但它似乎有效)。Zombiescan.sh 如下所示:

      #!/bin/bash

    if pgrep "ethminer" > /dev/null
    then
     echo "Ethminer Running, continuing....."
    else
     echo "Ethminer is STOPPED. Rebooting......"
    sleep 3
    sudo reboot
    fi

我还知道,如果从常规 shell 运行,initminer.sh 就可以正常工作,如下所示:

   #!/bin/bash
   PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin/bin:/home/miner/etc/initminer.sh
  #Program starts 3 tmux sessions that each run geth, eth-proxy, and  ethminer respectively. 


 sudo tmux new-session -d -s geth 'sudo geth'
 sudo tmux detach -s geth
 sleep 1
 echo "Geth RPC Server Online! Sleeping 5 seconds...."
 sleep 5
 sudo tmux new-session -d -s eth-proxy 'cd Documents/eth-proxy && sudo python eth-proxy.py'
 sudo tmux detach -s eth-proxy
 sleep 1
 echo "Eth-Proxy Online! Sleeping 5 seconds..."
 sleep 5
 sudo tmux new-session -d -s ethminer 'sudo ethminer --farm-recheck 200 -G -F http://127.0.0.1:8080/Andromeda --cl-local-work 256 --cl-global-work 8192'
 sudo tmux detach -s ethminer
 sleep 1
 echo "Ethminer (C++) Mining software Online! Sleeping 5 seconds..."
 sleep 1
 echo "_________________________________________________________________"
 sleep 1
 echo "_________________________________________________________________"
 sleep 1
 echo "_________________________________________________________________"
 sleep 1
 echo "_________________________________________________________________"
 sleep 1

    echo "Miner, RPC, XINIT, GPU Temperature Monitoring and Stratum Proxy started!"
    sleep 1
    echo "Be sure to check tmux status of each process!"

现在我的问题:出于某种原因,每当 CRON 启动 initminer.sh 时,只会运行第一个 tmux 命令 (geth)。它会在分离之前启动 tmux 并成功运行 geth,但之后不会运行任何其他命令。我做错了什么?

为了排除故障,我安装了 postfix 作为 MTA,并检查它发送给我的“邮件”,以监控脚本启动时的情况。我没有收到任何错误(因为显然没有发生任何错误)。

** 请原谅我的格式....第一次发帖,我还没有完全弄清楚如何使用代码片段插入!

编辑1:因此,经过一系列故障排除后,看起来我遇到的问题要么是 cron 在运行脚本时使用的环境变量有问题,要么是某种权限问题。这是我第一次真正使用 cron,所以看起来我还有很多东西要读。

相关内容