Configurazione dei cronjob

I cronjob servono a ottimizzare le procedure che si ripetono regolarmente. Potete determinare in quali orari e/o giorni della settimana vengono eseguiti determinati programmi o script.

Crea cronjob

Per creare un nuovo cronjob effettuate il login nel pannello di controllo. Troverete il "Cronjob Manager" nella panoramica dei server alla voce "Avanzate".

Notifica

Se l’esecuzione del vostro cronjob produce degli output in formato testo, questi vi verranno recapitati via e-mail.

Nel campo "Indirizzo e-mail" potete indicare l’indirizzo del destinatario dei messaggi. Se non desiderate ricevere queste notifiche, fate precedere il vostro comando dai caratteri >/dev/null 2>&1. In questo modo tutti gli altri verranno soppressi.

/usr/local/bin/php -f /home/username/bin/beispiel.php >/dev/null 2>&1

o

/home/username/bin/beispiel >/dev/null 2>&1

Comando cronjob

Il file che desiderate eseguire come cronjob deve essere eseguibile da solo o mediante un interprete.

File eseguibili

I programmi o script binari con una riga shebang possono essere eseguiti direttamente.

A tal fine accertatevi che la modalità file lo consenta: deve essere impostato l’x-Bit. In caso di dubbi, impostate la modalità su 755 o 750.

Shebang

Questa particolare riga nello script indica all’interprete che può leggere ed eseguire il contenuto dello script in questione.

È sempre la riga in cima alla prima colonna e inizia con i caratteri #!, seguiti dal percorso per l’interprete.

Lo shebang per uno script PHP sui nostri server FreeBSD appare come segue:

#!/usr/local/bin/php

Altri shebang:

#!/usr/local/bin/perl
#!/usr/local/bin/python

Avviare script con un interprete

Per eseguire uno script senza shebang dovete richiamarlo con il relativo interprete.

Tenete presente che la maggior parte dei programmi aggiuntivi si trova alla voce FreeBSD Unix in /usr/local/bin/.

A tal proposito vi invitiamo a leggere anche l’articolo sui percorsi nel sistema.

Per uno script PHP in /home/username/bin/esempio.php il comando cron appare come segue:

/usr/local/bin/php -f /home/username/bin/beispiel.php

Altre righe di comando:

/usr/local/bin/perl /home/username/bin/beispiel.pl
/usr/local/bin/python /home/username/bin/beispiel.py

Orario di esecuzione

Per determinare quando deve essere eseguito il comando del cronjob dovete indicare cinque valori temporali. Il cron Daemon controlla ogni minuto se deve essere eseguito uno dei vostri cronjob. Quando tutti e i cinque valori coincidono il comando viene eseguito.

Minuto
Indicate il minuto nel quale deve essere eseguito il vostro cronjob (0–59).
Ora
Indicate l’ora nella quale deve essere eseguito il vostro cronjob (0-23).
Giorno
Indicate il giorno del mese nel quale deve essere eseguito il vostro cronjob (1-31).
Mese
Indicate il mese dell’anno nel quale deve essere eseguito il vostro cronjob (1-12).
Giorno della settimana
Indicate il giorno della settimana nel quale deve essere eseguito il vostro cronjob (0-7, la domenica corrisponde a 0 e 7).
Lista

Potete inserire anche più valori separati dalle virgole. Per iniziare un’operazione alle xx:20 e alle xx:50, inserite "20,50" alla voce "Minuto".

Carattere jolly

I campi che desiderate "ignorare" possono essere compilati con un carattere jolly "*". Se ad esempio desiderate eseguire un’operazione ogni giorno dell’anno, alle voci "giorno", "mese" e "giorno della settimana" non dovete inserire tutta la lista delle possibilità: è sufficiente contrassegnare questi campi con "*", che indica che sono "sempre validi".

Intervallo

Se desiderate eseguire uno script in un determinato intervallo potete contrassegnarlo con "*/interval". Il campo si considera valido quando il valore attuale può essere diviso per il valore definito senza dare resto. Se desiderate che un’operazione venga effettuata ogni due ore, alla voce "Ora" inserite "*/2". Verrà eseguita alle ore 0, 2, 4, 6, ecc.

Esempi

Esecuzione a un orario ben preciso

Desiderate eseguire uno script per il resoconto settimanale ogni sabato sera alle 23.15:

Minuto: 15
Ora: 23
Giorno: *
Giorno della settimana: 6
Mese: *

Comando:

/home/username/bin/zusammenfassung.pl

Esecuzione ogni 5 minuti

Offrite all’utente del vostro sito la possibilità di caricare sul sito via e-mail un’immagine che lo ritrae. A tal fine dovete controllare la casella di posta ogni 5 minuti per inserire le nuove immagini nel sito.

Minuto: */5
Ora: *
Giorno: *
Giorno della settimana: *
Mese: *

Comando:

/usr/local/bin/php -f /home/username/bin/checkmail.php

Esecuzione ripetuta durante la notte

Per realizzare un piccolo filmato desiderate scaricare un’immagine da una webcam della vostra città a intervalli regolari durante la notte. A tal fine avete scritto un comando di una riga da eseguire dalle 20.00 di sera fino alle 6.00 di mattina ogni 20 minuti.

Minuto: */20
Ora: 20-23,0-6
Giorno: *
Giorno della settimana: *
Mese: *

Comando:

/usr/local/bin/wget 'http://www.il-vostro-dominio.ch/webcam.cgi?tilt=-20&yaw=93' -O /home/username/cam-images/`date +\%Y-\%m-\%d`.jpg

Potete anche richiedere periodicamente un URL senza fare il download:

/usr/local/bin/wget -q -O /dev/null 'http://www.exmaple.com/cron.php' >/dev/null 2>&1

Ulteriori risorse

Ulteriori risorse. Per ulteriori informazioni su come usare i cronjob vi suggeriamo ad esempio il link (in tedesco) http://www.howtoforge.de/anleitung/eine-kurze-einfuhrung-in-cron-jobs/ o un manuale Unix.

 

Ha trovato ciò che stava cercando?

I nostri professionisti dell’assistenza la possono aiutare personalmente!

 

© 2001 - Hostpoint AG