In quale giorno / ora inizia un cron settimanale?


8

Ho dato un'occhiata al cronista ma non ho trovato nulla che potesse aiutare :(

Qualcuno sa?


Questo è più adatto per il superutente, no?

Risposte:


16

Sto dando una risposta alternativa qui anche se Trevor ha ragione.

La @weeklyparola chiave cron fa esattamente come ha detto. Tuttavia , la maggior parte delle distribuzioni utilizza run-partsper eseguire i propri file crontab programmati (su base oraria, giornaliera, settimanale e mensile) che non utilizzano le parole chiave di cron.

Ad esempio , Ubuntu ha un file /etc/cron.weeklyche contiene un file separato per ogni cronjob.

Questo è generalmente definito in /etc/crontab

La versione karmica di 9.10 di Ubuntu include quanto segue /etc/crontab

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 )

Quindi il crontab settimanale in Ubuntu viene eseguito alle 6.47 di domenica

Nota: quando cerchi manpage per implementazioni di crontab, vuoi usare man 5 crontabinvece di solo man crontab. Quest'ultimo ti darà solo la sintassi per il comando crontab. Il primo fornisce dettagli sull'implementazione di crontab.


Un po 'schizzinoso qui, la sezione 5 delle pagine man è dedicata ai formati di file e alle convenzioni, quindi non abbastanza implementata. Specifica il formato del file e spesso contiene esempi
Steve Buzonas,

7 è domenica? Pensavo che 0 fosse domenica? (E se fosse iniziato all'1, penso che 1 fosse domenica.)
Felwithe il

@felwithe Domenica è sia 0 che 7, quindi puoi scegliere quello che meglio si adatta al primo giorno della settimana nel tuo paese (lunedì vs. domenica).
László van den Hoek,

Credo che questo non è corretto, in modo da aiutarmi a capire: So the weekly crontab in Ubuntu is run at 6.47am on Sunday. Questo non è corretto perché la test -x /usr/sbin/anacron ||parte del comando dice di eseguire SOLO le cose a destra ||se "/ usr / sbin / anacron" NON è eseguibile o non esiste, eppure esiste, quindi run-partsnon verrà mai effettivamente eseguito cron! Piuttosto, anacrondeve gestirlo, giusto? La tabella di Aanacron in "/ etc / anacrontab" mostra questo per ogni settimana: 7 10 cron.weekly run-parts --report /etc/cron.weeklyciò significa che il lavoro settimanale viene eseguito ogni 7 giorni con un ritardo di 10 minuti.
Gabriel Staples,

Ma ... non so quando anacron effettivamente funziona o come lo determina. Fai?
Gabriel Staples,

8

@weekly è l'equivalente di: 0 0 * * 0

Quindi funzionerà alle 00:00 di domenica.


0

La risposta sta nella manpage del crontab stesso, ( man 5 crontab):

Sono supportati questi "soprannomi" di specifiche temporali che sostituiscono i 5 campi iniziali di data e ora e sono preceduti dal carattere "@":

@reboot    :    Run once after reboot.
@yearly    :    Run once a year, ie.  "0 0 1 1 *".
@annually  :    Run once a year, ie.  "0 0 1 1 *".
@monthly   :    Run once a month, ie. "0 0 1 * *".
@weekly    :    Run once a week, ie.  "0 0 * * 0".
@daily     :    Run once a day, ie.   "0 0 * * *".
@hourly    :    Run once an hour, ie. "0 * * * *".

Quindi, è 0 0 * * 0, che è 00:00 (in qualsiasi data di qualsiasi mese), purché sia ​​domenica (giorno della settimana 0).

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.