Crontab: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
LauBot (discussione | contributi)
m Bot: passaggio degli url da HTTP a HTTPS
Convertito del testo in monospace/grassetto, allineate alcune voci, espansa la descrizione di funzionamento per i giorni della settimana, aggiunto collegamento esterno a strumento online.
Riga 11:
=== Operatori ===
Esistono diversi modi per specificare valori multipli in un campo:
* L'operatore virgola <code>,»)</code> specifica una lista di valori, ad esempio: «<code>1,3,4,7,8»</code>.
* L'operatore trattino <code>-»)</code> specifica un intervallo di valori, ad esempio: «<code>1-6»</code>, che equivale a «<code>1,2,3,4,5,6»</code>.
* L'operatore asterisco <code>*»)</code> specifica tutti i possibili valori di un campo. Ad esempio, un asterisco nel campo dell'ora è equivalente a «ogni ora».
 
Esiste anche un operatore supportato da alcune versioni estese del <code>cron</code>, l'operatore sbarra <code>/»)</code>, che può essere usato per saltare un certo numero di valori. Ad esempio, «<code>*/3»</code> nel campo dell'ora equivale a «<code>0,3,6,9,12,15,18,21»</code>; l'operatore «<code>*»</code> specifica «ogni ora», ma il «<code>/3»</code> indica che solo il primo, quarto, settimo e così via dei valori restituiti da «<code>*»</code> vengano usati.
 
=== Campi ===
Riga 30:
Note:
#Per «giorno della settimana» (5º campo), sia 0 che 7 sono considerati il valore domenica.
#Se sia «giorno del mese» (3º campo) che «giorno della settimana» (5º campo) sono presenti sulla stessa linea, il comando viene eseguito quando '''almeno''' uno dei due è vero. Vedere l'[[#Un errore comune|esempio]] sotto.
 
Il sesto campo e i successivi (ossia, il resto della linea) specificano il comando da eseguire.
Riga 43:
{{cancelletto}} Tra le 18 e le 7 un rapporto ogni ora nei giorni feriali.
{{cancelletto}} Genera un riassunto alle 18:05 di ogni giorno feriale.
<nowiki># =================================================================</nowiki>
0,20,40 8-17 * * 1-5 /usr/lib/sa/sa1 1200 3 &
0 * * * 0,6 /usr/lib/sa/sa1 &
0 18-7 * * 1-5 /usr/lib/sa/sa1 &
5 18 * * 1-5 /usr/lib/sa/sa2 -s 8:00 -e 18:01 -i 3600 -ubcwyaq
 
==== Un errore comune ====
Line 55 ⟶ 56:
Ad una prima occhiata si potrebbe pensare che questa linea di configurazione prepari il lancio dello script <code>shift_my_times.sh</code> alle 01:59 della prima domenica di aprile. Questo, tuttavia, non è corretto.
 
Diversamente dagli altri campi, il terzo e il quinto vengono valutati con un'operazione '''OR''' se nel terzo sono presenti valori numerici espliciti - mentre con un operazione '''AND''' se sono presenti solo operatori <code>*</code>, <code>/</code> e <code>,</code>. QuindiDi conseguenza lo script sarà eseguito alle 01:59 ogni giorno dal 1º aprile al 7 aprile e in aggiunta ogni altra domenica di aprile.
 
Il codice corretto sarebbe:
#Preparazione al cambio d'ora legale/solare
59 1 1-7 4/12 ? /root/shift_my_times.sh
 
Un altro errore comune è quello di inserire caratteri <code>%</code> nel comando da eseguire: devono essere scritti con il relativo [[escape]], in quanto il carattere <code>%</code> in denota una nuova linea.
# Errore
1 2 3 4 5 touch ~/errore_`date "+%Y%m%d"`.txt
{{cancelletto}} Corretto
1 2 3 4 5 touch ~/corretto_`date +\%Y\%m\%d`.txt
 
In questo esempio il carattere <code>%</code> denota l'inizio del STDIN per il comando cat:
<syntaxhighlight lang="bash">
* * * * * cat - % trascorso un minuto
</syntaxhighlight>
 
Un altro errore ancora è di non andare a capo dopo l'ultima riga ("carriage return"). In questo caso l'ultima riga non viene considerata.
 
=== Disabilitare l'Email di notifica ===
Line 98 ⟶ 101:
* [https://www.webcron.org/ Webcron] - Un servizio cron [[Web-based]] in italiano (e varie altre lingue)
* [http://www.artcava.net/Utilities/WebSchedule/WebScheduleInfo.aspx WebSchedule] - Un servizio cron [[Web-based]] in italiano
*[https://crontab.guru/ crontab.guru] - Un editor online per espressioni crontab
 
{{Comandi Unix}}