Use um caminho totalmente qualificado em crontab, por exemplo.
/bin/sh /home/pi/checker.sh
Eu tenho um problema com relação ao crontab. Eu tenho um script chamado checker.sh e quero programá-lo para que seja executado a cada minuto:
* * * * * sh /home/pi/checker.sh
Eu tenho o script aqui:
Oconceitodestescriptveiodaqui:
O problema é: sempre que termino o processo python para verificar se checker.sh
pode executar o script python, isso não funciona. Eu não sei onde está o problema. Tentei alterar o nome do caminho do python para / usr / bin / python no script checker.sh
, mas mesmo assim ele não funciona.
Espero que alguém possa resolver isso.
Use um caminho totalmente qualificado em crontab, por exemplo.
/bin/sh /home/pi/checker.sh
Você especificou bash no shell script e então tentou chamar seu script com sh no crontab. Realmente não há necessidade de especificar o shell no crontab desde que você o especifique no shebang, então isso deve funcionar bem:
* * * * * /home/pi/checker.sh
Tente navegar explicitamente para o diretório dentro do próprio script de shell usando cd e o caminho completo. Eu tive um problema semelhante e consertei isso. Por exemplo, na parte superior do seu script, depois de #!/bin/bash
, você colocaria:
cd /home/pi/Some_Directory'
# the rest of your script
Esta parece ser uma questão relativamente antiga, mas acredito que o problema esteja no cabeçalho ( Shebang ). Seu script tem o seguinte cabeçalho:
#! /bin/bash
No entanto, deve ser:
#!/bin/bash
Ou seja, sem espaços entre #!
e /bin/bash
. Isso aconteceu comigo antes e remover o espaço resolvido. Espero que ainda ajude alguém.