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.