Crontab não está executando o script inteiro?

1

Eu tenho uma configuração do crontab sob o root que lança um script que eu criei que inicia meu equipamento de mineração. Aqui está como o crontab se parece

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

Eu sei que o zombiescan.sh funciona bem se eu iniciá-lo a partir de um shell normal; apenas verifica se o ethminer está funcionando. Se não, ele reinicia a plataforma (bruto, eu sei, mas parece funcionar). Zombiescan.sh é assim:

      #!/bin/bash

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

Eu também sei que o initminer.sh funciona muito bem se for executado a partir de um shell comum, eis o que parece:

   #!/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!"

Agora aqui está o meu problema : Por alguma razão, sempre que o CRON inicia initminer.sh, apenas o primeiro comando tmux está sendo executado (geth). Ele inicia o tmux e executa o geth com sucesso antes de desanexar, mas depois disso nada mais é executado. O que estou fazendo errado?

Para solucionar problemas, instalei o postfix como um MTA e verifiquei o "mail" que ele envia para monitorar o que está acontecendo quando o script é iniciado. Eu não estou recebendo nenhum erro (porque nenhum está acontecendo, aparentemente).

** Por favor, desculpe a minha formatação .... pôster da primeira vez e eu ainda não descobri como usar a inserção do trecho de código!

EDIT 1: Então, após um monte de solução de problemas, parece que eu tenho um problema com as variáveis de ambiente que o cron está usando ao executar o script ou algum tipo de problema de permissões. Esta é a primeira vez que eu realmente uso o cron, então parece que tenho um pouco de leitura para fazer.

    
por cannabeatz 27.08.2016 / 02:51

0 respostas