Soluzione 1:
Sto dando una risposta alternativa anche se Trevor ha ragione.
Il cron @weekly
parola chiave fa esattamente come ha detto. Tuttavia , la maggior parte delle distribuzioni utilizza run-parts
per eseguire i propri file crontab pianificati (su base oraria, giornaliera, settimanale e mensile) che non utilizzano le parole chiave di cron.
Ad esempio , Ubuntu ha un /etc/cron.weekly
che contiene un file separato per ogni cronjob.
Questo è generalmente definito in /etc/crontab
La versione karmic 9.10 di Ubuntu ha quanto segue in /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, devi usare man 5 crontab
invece di solo man crontab
. Quest'ultimo ti darà solo la sintassi per il comando crontab. Il primo fornisce dettagli sull'implementazione di crontab.
Soluzione 2:
@weekly è l'equivalente di:0 0 * * 0
Quindi funzionerà alle 00:00 di domenica.