Boa tarde pessoal.
Tenho um raspberry pi que botei para funcionar um termômetro que manda os dados para uma página web. A ideia é deixar o raspberry rodando sem nenhuma supervisão externa por longos períodos de tempos.
Fiz um script em python que consegue ler a temperatura e lançar os dados nessa página web, porém eu tenho que abri uma conexão ssh e rodar o script python manualmente cada vez que, por exemplo, tem queda de energia no local.
Gostaria que nesses casos, o raspberry sozinho rodasse esse script python, o que já fiz:
Criei um arquivo em /etc/init.d e dei um chmod 755 nele.
O conteúdo desse arquivo está abaixo:
#!/bin/bash
python /home/pi/Temp/temperatura_web_automatic.py &
Quando rodo o script manualmete através de uma conexão ssh, ele funciona.
O que estou fazendo de errado?
- Home
- >
- Fórum
- >
- GNU-Linux, Free...
- >
- Interfaces, apl...
- >
- Iniciar script python ao...
Subindo!
Usaria colocar #!/bin/python e colocar o script todo lá ou chamar o arquivo com a extensão.
Também tem esse que usa Shellscript:
https://www.vivaolinux.com.br/topico/Shell-Script/Executar-script-no-boot
Uma das soluções viável e rápida é você chamar o script a partir do arquivo /etc/init.d/bootmisc.sh.
Exemplo: tenho um script em /root/boasvindas.sh
no final do /etc/init.d/bootmisc.sh eu insiro a linha:
/root/boasvindas.sh
Como já lembrado pelos colegas, não esqueça de atribuir permissão de execução ao seu scrip.
Ex.: chmod 740 /root/boasvindas.sh
Fonte: https://www.vivaolinux.com.br/topico/Shell-Script/Executar-script-no-boot
Shura16 disse: Usaria colocar #!/bin/python e colocar o script todo lá ou chamar o arquivo com a extensão.
No arquivo no raspberry já colocava com a extensão.
A ideia de colocar todo o código python no arquivo com cabeçalho !#/bin/python não me agrada muito, acredito que deve ser possível chamando o arquivo diretamente.
Essa solução do viva o linux já tinha visto, mas é meio gambiarra essas coisas deviam funcionar do jeito certo até mesmo para facilitar a manutenção.
Rodei também o código abaixo, mas o programa python ainda não é acionado no reboot.
sudo update-rc.d thinkspeak defauts
(thinkspeak é o nome do arquivo que coloquei no init.d que chama o script python)
Alguém tem mais alguma ideia?
Resolvi alterando o arquivo /etc/rc.local
Ficou assim:
#!/bin/sh -e
(sleep 120; python /home/pi/Temp/temperatura_web.py) &
exit 0