6 999
contributi
S3v (discussione | contributi) |
S3v (discussione | contributi) m (→Sintassi) |
||
Riga 168: | Riga 168: | ||
'''Attenzione.'''<br/> | '''Attenzione.'''<br/> | ||
Poiché i giorni possono essere specificati sia nel terzo che nel quinto campo e nel caso in cui questi due campi abbiano entrambi un valore diverso dall'asterisco, il demone Cron lancia il comando quando i campi corrispondono alla data corrente e in maniera indipendente l'uno dall'altro. In questo caso, dunque, verrà eseguito il comando sia negli specificati giorni del mese sia nei giorni specificati della settimana.<br/> | Poiché i giorni possono essere specificati sia nel terzo che nel quinto campo e nel caso in cui questi due campi abbiano entrambi un valore diverso dall'asterisco, il demone Cron lancia il comando quando i campi corrispondono alla data corrente e in maniera indipendente l'uno dall'altro. In questo caso, dunque, verrà eseguito il comando sia negli specificati giorni del mese sia nei giorni specificati della settimana.<br/> | ||
Quindi l'esempio precedente non porta al risultato di lanciare il comando solo nei primi quindici giorni di ogni mese quando il giorno è venerdì, ma al risultato di lanciare il comando nei primi quindici giorni di ciascun mese e ogni venerdì di ogni settimana dell'anno. | Quindi l'esempio precedente non porta al risultato di lanciare il comando solo nei primi quindici giorni di ogni mese quando il giorno è venerdì, ma al risultato di lanciare il comando nei primi quindici giorni di ciascun mese e anche ogni venerdì di ogni settimana dell'anno. | ||
Se si vuole ottenere il risultato di lanciare un comando in un particolare giorno della settimana solo se questo coincide con un giorno del mese o se appartiene a un intervallo di giorni del mese, bisogna eseguire un test separato sulla data. Il test può essere fatto sia all'interno di <code>crontab</code>, sia all'interno di uno script lanciato da crontab. | Se si vuole ottenere il risultato di lanciare un comando in un particolare giorno della settimana solo se questo coincide con un giorno del mese o se appartiene a un intervallo di giorni del mese, bisogna eseguire un test separato sulla data. Il test può essere fatto sia all'interno di <code>crontab</code>, sia all'interno di uno script lanciato da <code>crontab</code>. | ||
* Esempio 10 | |||
Questo è un esempio che mostra come eseguire un comando solo alla mezzanotte della prima domenica di ogni mese: | Questo è un esempio che mostra come eseguire un comando solo alla mezzanotte della prima domenica di ogni mese: | ||
<pre> | <pre> | ||
00 00 1-7 * * [ $(/bin/date '+\%u') -eq 7 ] && /comando/da/eseguire | 00 00 1-7 * * [ $(/bin/date '+\%u') -eq 7 ] && /comando/da/eseguire | ||
</pre> | </pre> | ||
''notare l'escape del carattere '%'''.<br/> | * Esempio 11 | ||
Consultare | Quest'altro esempio mostra come eseguire un comando alle 20,00 nei giorni che vanno dal 5 al 10 dei ogni mese e solo se questi giorni corrispondono a martedì o venerdì: | ||
<pre> | |||
00 20 5-10 * * [ $(/bin/date '+\%u') -eq 2 -o $(/bin/date '+\%u') -eq 5 ] && /comando/da/eseguire | |||
</pre> | |||
''notare in entrambi i casi l'uso dell'escape del carattere '%'''.<br/> | |||
Consultare le manpages dei comandi '''date''' e '''test''' per ottenere informazioni sul loro funzionamento. | |||
===Stringhe speciali=== | ===Stringhe speciali=== |
contributi