Linux-magazine.it Forum
Aprile 27, 2017, 01:46:36 pm *
Benvenuto! Accedi o registrati.
Hai dimenticato l'e-mail di attivazione?
 
   Indice   programmazione windows internet videogame Aiuto Ricerca Agenda Accedi Registrati  
Pagine: [1] 2   Vai giù
  Stampa  
Autore Discussione: [problema] Crontab, modifiche spariscono al riavvio  (Letto 847 volte)
0 utenti e 1 Utente non registrato stanno visualizzando questa discussione.
LaPa
Newbie
*

Karma: +0/-0
Scollegato Scollegato

Messaggi: 11


Mostra profilo
« inserita:: Aprile 05, 2017, 09:27:45 pm »

Buonasera,

ho provato a fare un operazione che ho fatto diverse volte in precedenza senza problemi ma adesso non mi funziona.

Vado a modificare crontab, lo modifico, lo salvo ma al riavvio non esegue il comando che ho inserito. Se lo richiamo mi accorgo che è sempre quello vecchio senza comandi inseriti come se avessi dimenticato di salvare.

Se effettuo la modifica, salvo e richiamo crontab senza riavviare allora le modifiche ci sono, spariscono però al riavvio.

il comando inserito in crontab è il seguente


Per editare uso da terminale il comando

Codice:
sudo crontab -e



inserisco i comandi da aggiungere

salvo con ctrl o

esco con ctrl x



Chiudo l'editor prima di ravviare

ho provato ad editare anche il crontab senza sudo ma succede la stessa cosa

il comando che inserisco è il seguente

Codice:
*/1 * * * * python /mnt/usbhd/SoilTemp+dweepy.py

ho provato a lanciare il file e non dà nessun errore

usbhd è montato correttamente con fstab

C'è sufficiente spazio su disco

Sono riuscito a fare funzionare il crontab modificato con questo comando


Codice:
sudo systemctl restart cron


ma se poi riavvio il sistema in crontab come al solito non trovo le modifiche Triste

 

Grazie Saluti


LaPa
Registrato
michele.p
Administrator
Hero Member
*****

Karma: +69/-46
Scollegato Scollegato

Messaggi: 9188



Mostra profilo
« Risposta #1 inserita:: Aprile 05, 2017, 10:32:25 pm »

Quindi il file che hai modificato è /etc/crontab aggiungendo una nuova operazione (quella riportata), giusto?

Però al riavvio sparisce la riga che hai aggiunto...  Occhi al cielo

Iniziamo subito con un suggerimento. Se vuoi avviare il demone cron al boot della distribuzione dai il comando:

sudo systemctl enable cron
Registrato

michele.p
Administrator
Hero Member
*****

Karma: +69/-46
Scollegato Scollegato

Messaggi: 9188



Mostra profilo
« Risposta #2 inserita:: Aprile 05, 2017, 10:48:12 pm »

Dimenticavo, tu lo stai utilizzando come utente root quindi la nuova operazione dovrebbe essere registrata in /var/spool/cron/*, questa regola in questo percorso ti viene cancellata?
Registrato

LaPa
Newbie
*

Karma: +0/-0
Scollegato Scollegato

Messaggi: 11


Mostra profilo
« Risposta #3 inserita:: Aprile 05, 2017, 11:38:29 pm »



Iniziamo subito con un suggerimento. Se vuoi avviare il demone cron al boot della distribuzione dai il comando:

sudo systemctl enable cron

ho dato quel comando ma niente da fare al riavvio sparisce da crontab la regola aggiunta
Registrato
LaPa
Newbie
*

Karma: +0/-0
Scollegato Scollegato

Messaggi: 11


Mostra profilo
« Risposta #4 inserita:: Aprile 05, 2017, 11:40:22 pm »

Dimenticavo, tu lo stai utilizzando come utente root quindi la nuova operazione dovrebbe essere registrata in /var/spool/cron/*, questa regola in questo percorso ti viene cancellata?

in /var/spool/cron c'è una cartella crontab ma l'accesso è negato.

Registrato
michele.p
Administrator
Hero Member
*****

Karma: +69/-46
Scollegato Scollegato

Messaggi: 9188



Mostra profilo
« Risposta #5 inserita:: Aprile 05, 2017, 11:57:44 pm »

In quella cartella puoi accedere con i privilegi del proprietario della cartella. In sostanza il comando:

sudo ls -al /var/spool/cron/crontabs

cosa ti restituisce?

P.S.: Vista l'ora  Ghigno al momento non ricordo se quella cartella finisce con la "s" o meno.  Linguaccia
« Ultima modifica: Aprile 05, 2017, 11:59:25 pm da michele.p » Registrato

LaPa
Newbie
*

Karma: +0/-0
Scollegato Scollegato

Messaggi: 11


Mostra profilo
« Risposta #6 inserita:: Aprile 10, 2017, 09:11:52 pm »

Il tuo comando era giusto, cioè con la "s"

Se riavvio (mi spariscono i comandi che ho inserito)

Dando il comando ottengo questa risposta

Codice:
totale 12
drwx-wx--T 2 root crontab 4096 mar 10 17:14 .
drwxr-xr-x 3 root root    4096 nov 25 18:21 ..
-rw------- 1 root crontab 1766 mar 10 17:14 root,


Se invece inserisco in crontab i due comandi e poi senza riavviare su terminale digito

Codice:
sudo systemctl restart cron

per rendere attivi i comandi inseriti in crontab senza riavviare

allora dando il comando suggerito da te la risposta è

Codice:
totale 12
drwx-wx--T 2 root crontab 4096 apr 10 22:17 .
drwxr-xr-x 3 root root    4096 nov 25 18:21 ..
-rw------- 1 root crontab 1876 apr 10 22:17 root

Grazie

Saluti

LaPa

« Ultima modifica: Aprile 10, 2017, 09:23:21 pm da LaPa » Registrato
michele.p
Administrator
Hero Member
*****

Karma: +69/-46
Scollegato Scollegato

Messaggi: 9188



Mostra profilo
« Risposta #7 inserita:: Aprile 11, 2017, 10:25:58 am »

Il file root dovrebbe contenere le regole che hai impostato (come utente root, appunto). giusto?
Apri il file root presente in /var/spool/cron/crontabs
Registrato

LaPa
Newbie
*

Karma: +0/-0
Scollegato Scollegato

Messaggi: 11


Mostra profilo
« Risposta #8 inserita:: Aprile 11, 2017, 08:58:20 pm »

per vedere il contenuto di root ho utilizzato il seguente comando


Codice:
sudo cat /var/spool/cron/crontabs/root

Questo è il contenuto del file root se io edito crontab e poi do il comando

Codice:
sudo systemctl restart cron

e pertanto contiene tutti i comandi con la tempistica.

Codice:
# DO NOT EDIT THIS FILE - edit the master and reinstall.
# (/tmp/crontab.mUw0cH/crontab installed on Mon Apr 10 22:17:00 2017)
# (Cron version -- $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie Exp $)
# Edit this file to introduce tasks to be run by cron.
#
# Each task to run has to be defined through a single line
# indicating with different fields when the task will be run
# and what command to run for the task
#
# To define the time you can provide concrete values for
# minute (m), hour (h), day of month (dom), month (mon),
# and day of week (dow) or use '*' in these fields (for 'any').#
# Notice that tasks will be started based on the cron's system
# daemon's notion of time and timezones.
#
# Output of the crontab jobs (including errors) is sent through
# email to the user the crontab file belongs to (unless redirected).
#
# For example, you can run a backup of all your user accounts
# at 5 a.m every week with:
# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
#
# For more information see the manual pages of crontab(5) and cron(8)
#
# m h  dom mon dow   command


*/35 * * * * /home/pi/Desktop/copiaultima.sh

*/45 * * * * /home/pi/Desktop/LanciaUltimaSuWeb.sh




*/1 * * * * python /home/pi/Adafruit_Python_DHT/examples/DHTRH+dweepy.py 22 26

*/1 * * * * python /home/pi/Adafruit_Python_DHT/examples/DHTTemp+dweepy.py 22 26

*/1 * * * * python /mnt/usbhd/SoilTemp+dweepy.py

*/1 * * * * python /home/pi/Ductsoup_Python_TSL2561/TSL2561+dweepy.py

*/10 * * * * python /home/pi/Adafruit_Python_DHT/examples/DHTTemp+TS.py 22 26 &


*/10 * * * * python /mnt/usbhd/SoilTempThingSpeak.py &


*/10 * * * * python /home/pi/Adafruit_Python_DHT/examples/DHTRH+TS.py 22 26 &

*/10 * * * * python /home/pi/Ductsoup_Python_TSL2561/TSL2561+TS.py &


*/1 * * * * python /mnt/usbhd/BagnaturaSuolo+dweepy.py



*/10 * * * * python /mnt/usbhd/BagnaturaSuolo+TS.py



Questo è il contenuto del file root invece dopo il riavvio
Codice:
# DO NOT EDIT THIS FILE - edit the master and reinstall.
# (/tmp/crontab.D1Uwtg/crontab installed on Fri Mar 10 17:14:25 2017)
# (Cron version -- $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie Exp $)
# Edit this file to introduce tasks to be run by cron.
#
# Each task to run has to be defined through a single line
# indicating with different fields when the task will be run
# and what command to run for the task
#
# To define the time you can provide concrete values for
# minute (m), hour (h), day of month (dom), month (mon),
# and day of week (dow) or use '*' in these fields (for 'any').#
# Notice that tasks will be started based on the cron's system
# daemon's notion of time and timezones.
#
# Output of the crontab jobs (including errors) is sent through
# email to the user the crontab file belongs to (unless redirected).
#
# For example, you can run a backup of all your user accounts
# at 5 a.m every week with:
# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
#
# For more information see the manual pages of crontab(5) and cron(8)
#
# m h  dom mon dow   command


*/35 * * * * /home/pi/Desktop/copiaultima.sh

*/45 * * * * /home/pi/Desktop/LanciaUltimaSuWeb.sh




*/1 * * * * python /home/pi/Adafruit_Python_DHT/examples/DHTRH+dweepy.py 22 26

*/1 * * * * python /home/pi/Adafruit_Python_DHT/examples/DHTTemp+dweepy.py 22 26

*/1 * * * * python /mnt/usbhd/SoilTemp+dweepy.py

*/1 * * * * python /home/pi/Ductsoup_Python_TSL2561/TSL2561+dweepy.py

*/10 * * * * python /home/pi/Adafruit_Python_DHT/examples/DHTTemp+TS.py 22 26 &


*/10 * * * * python /mnt/usbhd/SoilTempThingSpeak.py &


*/10 * * * * python /home/pi/Adafruit_Python_DHT/examples/DHTRH+TS.py 22 26 &

*/10 * * * * python /home/pi/Ductsoup_Python_TSL2561/TSL2561+TS.py &

Purtroppo mancano i due comandi finali. Quelli che non riesco a salvare in crontab Triste

Grazie per l'attenzione

Saluti

LaPa
Registrato
michele.p
Administrator
Hero Member
*****

Karma: +69/-46
Scollegato Scollegato

Messaggi: 9188



Mostra profilo
« Risposta #9 inserita:: Aprile 11, 2017, 10:47:48 pm »

MA come modifichi il crontab? Ti ricordo che non puoi modificarlo direttamente, ma devi utilizzare il comando:

crontab -e

che aprirà il file in un editor di testo specificato in una apposita variabile d'ambiente. Utilizzi questo metodo?

Ad esempio per le altre voci che si vedono come hai operato per l'aggiunta?
Modificando il crontab con "l'editor interno" non c'è necessità di riavviare il servizio poiché l'editor stesso modificando il time stamp del file "avviserà" il demone cron che un crontab è stato cambiato.

In più, in /etc dovresti avere due file cron.deny e cron.allow, qual è il loro contenuto?
Registrato

LaPa
Newbie
*

Karma: +0/-0
Scollegato Scollegato

Messaggi: 11


Mostra profilo
« Risposta #10 inserita:: Aprile 12, 2017, 08:57:02 pm »

per modificare il crontab ho utilizzato il comando

sudo -e crontab

si apre l'editor 

c'incollo i comandi preparati e provati precedentemente

poi ctrl o (salvo il file)

poi ctrl x (esco dall'editor)

così ho fatto con i precedenti comandi che ho aggiunto un po' alla volta.

Poi ho sempre ritrovato dopo il riavvio i comandi aggiunti, tranne gli ultimi 2 che mi spariscono dopo il riavvio.sembra quasi come se non accettasse oltre un certo numero di operazioni.
Registrato
LaPa
Newbie
*

Karma: +0/-0
Scollegato Scollegato

Messaggi: 11


Mostra profilo
« Risposta #11 inserita:: Aprile 12, 2017, 09:12:03 pm »

in etc trovo, tra le altre,  le seguenti cartelline:
1) cron.d
2) cron.daily
3) cron.huorly
4) cron.monthly
5) cron.weekly

poi il file crontab il cui contenuto è il seguente

# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user   command
17 *   * * *   root    cd / && run-parts --report /etc/cron.hourly
25 6   * * *   root   test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6   * * 7   root   test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6   1 * *   root   test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
Registrato
michele.p
Administrator
Hero Member
*****

Karma: +69/-46
Scollegato Scollegato

Messaggi: 9188



Mostra profilo
« Risposta #12 inserita:: Aprile 13, 2017, 08:38:49 pm »

Curiosità, ti sei ricordato di inserire delle new line (in sostanza pigiare il pulsante Invio) dopo l'ultima riga?
Se non ricordo male righe che non hanno un new line (quindi un Invio) non vengono accettate.  Occhi al cielo
Registrato

michele.p
Administrator
Hero Member
*****

Karma: +69/-46
Scollegato Scollegato

Messaggi: 9188



Mostra profilo
« Risposta #13 inserita:: Aprile 13, 2017, 08:55:22 pm »

Un'altra cosa, ma in /var/log/cron non c'è un file di log del demone? Se si, analizzane/riportane il contenuto vedi mai che c'è un suggerimento sul problema.  Occhi al cielo
Registrato

LaPa
Newbie
*

Karma: +0/-0
Scollegato Scollegato

Messaggi: 11


Mostra profilo
« Risposta #14 inserita:: Aprile 15, 2017, 09:11:28 pm »

Curiosità, ti sei ricordato di inserire delle new line (in sostanza pigiare il pulsante Invio) dopo l'ultima riga?
Se non ricordo male righe che non hanno un new line (quindi un Invio) non vengono accettate.  Occhi al cielo

sì ho provato a inserire delle new line ma il problema rimane
Registrato
Pagine: [1] 2   Vai su
  Stampa  
 
Vai a:  


Powered by SMF 1.1.9 | SMF © 2006-2007, Simple Machines LLC -->