A instrução print de saída em python não entra no log do cron

1

meu crontab tem esta aparência:

@reboot sh /home/pi/LCDinterface/shutdownlauncher.sh 2>&1 | tee -a /home/cronlog

Conteúdo de shutdownlauncher.sh :

cd /
cd home/pi/LCDinterface


date
python shutdown.py 
echo ''
cd /

Conteúdo de shutdown.py :

if interrupt_happens:
  print ("shutting down")
  time.sleep(3)
  os.system("sudo shutdown -h now")

Se eu executar python shutdown.py ou sh shutdownlauncher.sh , sempre poderei ver o texto de saída 'desligando' no meu terminal. Mas se apenas o cron começar a executar o script bash, que chama o script python. Eu nunca vejo o texto e ele não aparece no log. O comando date no script sh aparece no meu log, mas não no terminal. Você pode me ajudar com isso? Como editar o shutdownlauncher.sh ou o cron job para ver as saídas no terminal e no log também? Tudo isso é executado em um Raspberry Pi 3, estou conectado no SSH.

Conteúdo do meu arquivo de log:

Fri Apr  7 19:26:33 CEST 2017
Fri Apr  7 19:36:11 CEST 2017
Fri Apr  7 21:18:45 CEST 2017
Sat Apr  8 00:08:09 CEST 2017
Sat Apr  8 00:29:31 CEST 2017
Sat Apr  8 10:08:17 CEST 2017
Sat Apr  8 11:58:35 CEST 2017
    
por user3598726 08.04.2017 / 19:15

1 resposta

0

Em vez da função print, tente usar o módulo syslog .

import syslog
syslog.syslog('System is going to shutdown')
    
por 08.04.2017 / 19:24