O script não será executado via crontab, mas funciona bem autônomo

0

Primeiro post neste fórum aqui :) Eu já vi isso no fórum, mas se o crontab iniciar o script, ocorrerá um erro. (Funciona sozinho).

Veja este é o meu script. Este é o Log.

E aqui está o meu crontab:

* * * * * /bin/bash /home/steam/arma3/restart.sh >> /home/steam/arma3/logs/checkonserv.log 2>&1

O erro "cannot found" foi corrigido, mas a execução do arquivo arma3server não funciona.

    
por Marc Ma 02.12.2016 / 13:23

3 respostas

1

Muitas vezes, um script como esse apresenta um problema de chamada bash vs. sh . Em suma, crontab é padronizado para o que é explícito no arquivo como:

SHELL=/bin/sh

enquanto seu shell provavelmente está executando uma invocação de bash .

Eu recomendaria:

  1. Adicionando um #!/bin/bash ao topo do seu script (se for o SHELL escolhido)
  2. Adicionando explicitamente o /bin/bash à linha crontab, de modo que:

    * * * * * /bin/bash /home/steam/arma3/restart.sh >> /home/steam/arma3/logs/crontabcheck 2>&

Se os erros persistirem, forneça uma atualização.

    
por Mark 02.12.2016 / 16:17
0

Ok, então encontrei uma solução alternativa sobre isso:

  • Coloque seu script em um loop infinito
  • Espere por 1 min @ no final do script (durma 1m)
  • Execute o script com a tela
por Marc Ma 03.12.2016 / 15:55
0

Nunca assuma que o cron funcionará da mesma forma que executar algo manualmente. Se você espera executar seu script no cron, certifique-se de que seu script configure seu ambiente exatamente conforme necessário e use caminhos completos para os comandos que você deseja executar.

    
por Spaldam 02.01.2017 / 07:50