26/02/2016, 10:37
(Questo messaggio è stato modificato l'ultima volta il: 26/02/2016, 10:38 da korpf.)
Ciao a tutti,
Ho un problema con un Cronjob che vorrei eseguire sul mio Raspberry Pi.
Vorrei fare uno SpeedTest usando speedtest.net e mandare a me stesso attraverso Telegram (telegram.org) il link dell'immagine PNG dello SpeedTest.
Per fare tutto questo ho eseguito da terminale: che ho installato facendo .
Per ottenere il link da condividere basta eseguire.
Il codice Python che faccio eseguire dal mio Raspberry Pi è questo: http://i.imgur.com/bjrxhw1.png.
Quando lo eseguo manualmente da riga di comando, funziona, quando lo faccio eseguire da crontab, non va.
So che, leggendo tanti thread, eseguire script da riga di comando piuttosto che da crontab è differente ma stavolta la cosa strana è che se eseguo da riga di comando questo script su Ubuntu 15.10, funziona, e se lo eseguo da crontab, funziona ugualmente, cosa che con il Raspberry Pi non succede.
Il mio script step by step:
1) per eseguire il cronjob
2) il framework che mi permette di usare le API per i Bot di Telegram https://core.telegram.org/bots/api
3) Attraverso la libreria "os" eseguo un comando da terminale all'interno dello script, e salvo il risultato all'interno di un file di testo, log.txt4) Leggo tutto il testo all'interno del file log.txt e seleziono la nona riga dove è salvato il link da condividere.
5) Mando il link attraverso il metodo6) Alla fine rimuovo il file log.txt per il successivo cronjob
Soluzioni già provate:
1) Il mio crontab ha questo aspetto tenendo conto che intendo eseguire lo script ogni giorno alle 3:15 di notte.
Ho già provato a sostituire con ma non ha funzionato
2) In alto allo script ho scritto per non dover riscrivere tutto il percorso del file ogni volta. Ho provato anche a scrivere ogni volta tutti i percorsi completi e non ha funzionato.
Grazie a tutti in anticipo per l'aiuto.
Ho un problema con un Cronjob che vorrei eseguire sul mio Raspberry Pi.
Vorrei fare uno SpeedTest usando speedtest.net e mandare a me stesso attraverso Telegram (telegram.org) il link dell'immagine PNG dello SpeedTest.
Per fare tutto questo ho eseguito da terminale:
Codice:
speedtest-cli
Codice:
sudo easy_install speedtest-cli
Per ottenere il link da condividere basta eseguire
Codice:
speedtest-cli --share
Il codice Python che faccio eseguire dal mio Raspberry Pi è questo: http://i.imgur.com/bjrxhw1.png.
Quando lo eseguo manualmente da riga di comando, funziona, quando lo faccio eseguire da crontab, non va.
So che, leggendo tanti thread, eseguire script da riga di comando piuttosto che da crontab è differente ma stavolta la cosa strana è che se eseguo da riga di comando questo script su Ubuntu 15.10, funziona, e se lo eseguo da crontab, funziona ugualmente, cosa che con il Raspberry Pi non succede.
Il mio script step by step:
1)
Codice:
!#/usr/bin/env python
2)
Codice:
import telepot
3) Attraverso la libreria "os" eseguo un comando da terminale all'interno dello script, e salvo il risultato all'interno di un file di testo, log.txt
Codice:
speedtest-cli --share >> log.txt
5) Mando il link attraverso il metodo
Codice:
sendMessage()
Soluzioni già provate:
1) Il mio crontab ha questo aspetto
Codice:
15 3 * * * python /home/pi/my_directory/script.py
Ho già provato a sostituire con
Codice:
15 3 * * * usr/bin/python /home/pi/my_directory/script.py
2) In alto allo script ho scritto
Codice:
os.chdir(/home/pi/my_directory/)
Grazie a tutti in anticipo per l'aiuto.