|
Le funzioni qui descritte possono presentare leggere differenze di sintassi e struttura in base alla distribuzione Linux impiegata!
Con il seguente comando è possibile verificare se il daemon CRON funziona:
Se CRON è attivo, Linux risponde con una o più righe iniziando con il nome utente (ad es. root) e alcune altre indicazioni.
Come già accennato, l’elemento di controllo in CRON è il file crontab che è contenuto nella directory /etc. Qui si stabilisce quando deve essere eseguita quale azione. Per ogni azione è presente una riga con una struttura stabilita.
#m h dom mon dow user command
0 8 * * 1-5 root curl "10.40.22.101/outputaccess1?PW=Password&State=ON&" |
|
|
|
: |
Minute - Minuto valori possibili: 0-59 |
|
|
: |
Hour - Ora valori possibili: 0-23 |
|
|
: |
Day of the month - Giorno del mese valori possibili: 1-31 |
|
|
: |
Month - Mese valori possibili: 1-12 |
|
|
|
Day of the Week - Giorno della settimana valori possibili: 0-6 (partendo da 0=domenica, 1=lunedì ecc.) |
|
|
|
User - Nome utente (qui si consiglia di lavorare con il nome utente root |
|
|
: |
Command - Chiamata azione per l’attivazione con il Web-IO curl e la chiamata di attivazione |
Al posto di un parametro di tempo può essere inserito un asterisco *. Ciò vale sempre, ossia per tutti i valori ammessi (ad esempio ogni minuto).
Sono ammessi intervalli numerici. Gli intervalli sono costituiti da due numeri separati da un trattino. Sono inclusi i limiti indicati. Ad esempio 8-17 come valore di ore determina l’esecuzione alle ore 8, 9, 10, 11,12, 13, 14, 15, 16, 17.
Sono possibili elenchi. Un elenco è una quantità di numeri o intervalli separati da una virgola. Esempi: 1,2,5,9 o 0-4,8-12.
Gli incrementi possono essere utilizzati assieme agli intervalli. Dietro a un intervallo viene indicato l’"/<incremento>".
Esempio: "0-23/2" può essere utilizzato per le ore per eseguire un comando speciale ogni due ore. L’alternativa sarebbe: 0,2,4,6,8,10,12,14,16,18,20,22. Gli incrementi sono ammessi anche dopo asterischi *, "ogni due ore" può essere indicato anche con "*/2".
La voce indicata sopra attiva l’output 1 alle ore 8 della mattina dal lunedì al venerdì.
Il formato CRON appare funzionare a prima vista in modo non molto pratico ma possono essere configurati con estrema semplicità sia azioni che si ripetono che processi di attivazione singoli.
Un esempio conclusivo:
L’illuminazione del cortile di un’azienda deve attivarsi la sera e disattivarsi di nuovo la mattina. A tale scopo l’output 0 del Web-IO 10.40.22.101 controlla un relè di accoppiamento che alimenta l’illuminazione con corrente. Per risparmiare corrente, il controllo deve tenere conto degli orari in cui il sole sorge e tramonta nei diversi mesi. Inoltre l’output 1 del Web-IO 10.40.22.104 deve controllare dal lunedì al venerdì alle ore 13 il gong della pausa (a tale scopo l’output è stato configurato su un funzionamento a impulsi di 500 ms quindi ritorna automaticamente a riposo).
|
#m h dom mon dow user command
#January 16:30 - 9:30
30 16 * 1 * root curl "10.40.22.101/outputaccess0?PW=Password&State=ON&"
30 9 * 1 * root curl "10.40.22.101/outputaccess0?PW=Password&State=OFF&"
#February 17:30 - 8:30
30 17 * 2 * root curl "10.40.22.101/outputaccess0?PW=Password&State=ON&"
30 8 * 2 * root curl "10.40.22.101/outputaccess0?PW=Password&State=OFF&"
#March 18:30 - 8:00
30 18 * 3* root curl "10.40.22.101/outputaccess0?PW=Password&State=ON&"
0 8 * 3 * root curl "10.40.22.101/outputaccess0?PW=Password&State=OFF&"
#April 20:00 - 7:30
0 20 * 4 * root curl "10.40.22.101/outputaccess0?PW=Password&State=ON&"
30 7 * 4 * root curl "10.40.22.101/outputaccess0?PW=Password&State=OFF&"
#May 21:00 - 5:30
0 21 * 5 * root curl "10.40.22.101/outputaccess0?PW=Password&State=ON&"
30 5 * 5 * root curl "10.40.22.101/outputaccess0?PW=Password&State=OFF&"
#June 21:30 - 5:00
30 21 * 6 * root curl "10.40.22.101/outputaccess0?PW=Password&State=ON&"
0 5 * 6 * root curl "10.40.22.101/outputaccess0?PW=Password&State=OFF&"
#JJuly 21:30 - 6:00
30 21 * 7 * root curl "10.40.22.101/outputaccess0?PW=Password&State=ON&"
0 6 * 7 * root curl "10.40.22.101/outputaccess0?PW=Password&State=OFF&"
#August 18:30 - 7:30
30 18 * 8* root curl "10.40.22.101/outputaccess0?PW=Password&State=ON&"
30 7* 8 * root curl "10.40.22.101/outputaccess0?PW=Password&State=OFF&"
#September 17:30 - 7:00
30 17 * 9 * root curl "10.40.22.101/outputaccess0?PW=Password&State=ON&"
0 7 * 9 * root curl "10.40.22.101/outputaccess0?PW=Password&State=OFF&"
#October 17:00 - 7:30
0 17 * 10 * root curl "10.40.22.101/outputaccess0?PW=Password&State=ON&"
30 7 * 10 * root curl "10.40.22.101/outputaccess0?PW=Password&State=OFF&"
#November 16:30 - 8:30
30 16 * 11 * root curl "10.40.22.101/outputaccess0?PW=Password&State=ON&"
30 8 * 11 * root curl "10.40.22.101/outputaccess0?PW=Password&State=OFF&"
#December 16:00 - 9:00
0 16 * 12 * root curl "10.40.22.101/outputaccess0?PW=Password&State=ON&"
0 9 * 12 * root curl "10.40.22.101/outputaccess0?PW=Password&State=OFF&"
#Monday - Friday 13:00
0 13 * * 1-5 root curl "10.40.22.104/outputaccess1?PW=Password&State=ON&
|
|
L’esempio mostra che anche compiti di attivazione complessi possono essere eseguiti con poche righe di configurazione.
|