crontab -e, quindi 0 * * * * = ogni ora ... Dove viene memorizzato


14

Dopo sudo crontab -e (ha scritto "/tmp/crontab.XXXX70pN9h" 1L, 19C 1,1 Tutti

Quindi ho salvato il file. E per controllare ..? (come? non lo so)

And to check I 
ps -e | grep cron
29818 ?        00:00:00 cron

Quindi .. ma ho deciso di ricontrollare ma

sudo cat /etc/cron.hourly
cat: /etc/cron.hourly: Is a directory
xi@localhost ~ $ sudo ls /etc/cron.hourly

Niente! cioè nella directory

Come capisco il primo 0 nella posizione dell'ora significa ogni ora?


Ok, aspetterò un'ora (il divario più basso nella documentazione)
Xsi

Sicuramente vuoi controllare una mia domanda. Ha una risposta di Stephane Chazelas che spiega come è possibile creare una shell interattiva identica all'ambiente che vedrà il tuo lavoro cron. Se segui la sua piccola procedura, ricevi un prompt e puoi testare il tuo cronjob passo dopo passo e vedere dove fallisce. unix.stackexchange.com/a/56503/16841 Sicuro che non corrisponde al 100% per la tua domanda, ma può aiutarti a risolvere i problemi di crontab.
jippie,

Risposte:


24

I campi in cron sono:

m      h       dom             mon     dow          command
Minute Hour    Day of Month    Month   Day of week  <command>

E 0 * * * * <command>poi si traduce in "Esegui comando ogni ora, ogni giorno, ogni mese e ogni giorno della settimana, se il minuto è 0"

Puoi elencare il tuo crontab usando crontab -l, come delh già indicato.

Prendi questo link qui, ci sono alcuni esempi di cron pratiche


date [-u | --utc | --universal] [MMDDhhmm [[CC] YY] [. ss]] è come, ma viceversa
Xsi

Cosa c'entra questo con cron?
Bonsi Scott,

9

Il tuo crontabe cron.hourlysono entità separate. Mettere qualcosa nel tuo crontabnon lo inserisce cron.hourly, anche se corre ogni ora. Mettere uno script in cron.hourlyè semplicemente un altro modo di averlo eseguito ogni ora, che è, i vostri croncontrolli daemon sia il vostro crontab e cron.hourly . Avendolo in entrambi lo eseguiresti due volte.


Ven 9 nov 15:16:01 EET 2012 xi @ localhost ~ $ ls /var/log/cron.log ls: impossibile accedere a /var/log/cron.log: nessun file o directory
simile

3

Puoi verificare se crontab è installato usando:

sudo crontab -l

Ogni ora dovrebbe apparire un messaggio di registro in /var/log/syslogquanto è stato eseguito.

Ulteriori letture:

http://www.linuxweblog.com/crotab-tutorial

Ritengo che il primo zero (0) siano i minuti. Ma se dici di voler fare qualcosa quando i minuti sono 0, verrebbero eseguiti ogni ora. Come solo una volta ogni ora i minuti sono zero.



1

Se stai effettivamente cercando i file cron dell'utente per vedere quando è cambiato o qualcosa del genere, puoi trovarlo in /var/spool/cron/ma probabilmente non dovresti manipolare i file manualmente.


Non molto probabilmente non dovrebbe come non dovrebbe . Il crondemone non noterà cambiamenti se modifichi direttamente i file. Utilizzare invece crontab -lper elencare l'utente corrente, crontab -eper modificare l'utente corrente e / o includere -u {user}anche per accedere a quel diverso utente crontab. Questo è tutto ben definito nella pagina man dicrontab .
roaima,

Credo che ci siano modi per impostare cronper controllare automaticamente i file per le modifiche se realmente necessario aggiornare manualmente.
Molimo,

Se è necessario aggiornarli manualmente, utilizzare l' crontabinterfaccia; ecco a cosa serve. Altrimenti dovrai arrestare e riavviare il crondemone.
roaima,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.