I cronjob servono a ottimizzare le procedure che si ripetono regolarmente. Può determinare in quali orari e/o giorni della settimana vengono eseguiti determinati programmi o script.
Crea cronjob
Per creare un nuovo cronjob effettui il login nel Pannello di controllo Hostpoint. Troverà il “Manager Cronjob” nella panoramica dei server alla voce “Avanzato”.
Notifica
Se l’esecuzione del Suo cronjob produce degli output in formato testo, questi Le verranno recapitati via e-mail.
Nel campo “Indirizzo e-mail” può indicare l’indirizzo del destinatario dei messaggi. Se non desidera ricevere queste notifiche, faccia precedere il Suo comando dai caratteri >/dev/null 2>&1. In questo modo tutti gli altri verranno soppressi.
/usr/local/bin/php -f /home/username/bin/esempio.php >/dev/null 2>&1
o
/home/username/bin/esempio >/dev/null 2>&1
Comando cronjob
Il file che desidera 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 si assicuri che la modalità file lo consenta: deve essere impostato l’x-Bit. In caso di dubbi, imposti 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 deve richiamarlo con il relativo interprete.
Tenga presente che la maggior parte dei programmi aggiuntivi si trova alla voce FreeBSD Unix in /usr/local/bin/.
A tal proposito Le 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/esempio.php
Altre righe di comando:
/usr/local/bin/perl /home/username/bin/esempio.pl
/usr/local/bin/python /home/username/bin/esempio.py
Orario di esecuzione
Per determinare quando deve essere eseguito il comando del cronjob deve indicare cinque valori temporali. Il cron Daemon controlla ogni minuto se deve essere eseguito uno dei Suoi cronjob. Quando tutti e i cinque valori coincidono il comando viene eseguito.
- Minuto
- Indichi il minuto nel quale deve essere eseguito il Suo cronjob (0–59).
- Ora
- Indichi l’ora nella quale deve essere eseguito il Suo cronjob (0-23).
- Giorno
- Indichi il giorno del mese nel quale deve essere eseguito il Suo cronjob (1-31).
- Mese
- Indichi il mese dell’anno nel quale deve essere eseguito il Suo cronjob (1-12).
- Giorno della settimana
- Indichi il giorno della settimana nel quale deve essere eseguito il Suo cronjob (0-7, la domenica corrisponde a 0 e 7).
Lista
Può inserire anche più valori separati dalle virgole. Per iniziare un’operazione alle xx:20 e alle xx:50, inserisca "20,50" alla voce “Minuto”.
Carattere jolly
I campi che desidera “ignorare” possono essere compilati con un carattere jolly “*”. Se ad esempio desidera eseguire un’operazione ogni giorno dell’anno, alle voci “giorno”, “mese” e “giorno della settimana” non deve inserire tutta la lista delle possibilità: è sufficiente contrassegnare questi campi con “*”, che indica che sono “sempre validi”.
Intervallo
Se desidera eseguire uno script in un determinato intervallo può contrassegnarlo con “*/interval”. Il campo si considera valido quando il valore attuale può essere diviso per il valore definito senza dare resto. Se desidera che un’operazione venga effettuata ogni due ore, alla voce “Ora” inserisca “*/2”. Verrà eseguita alle ore 0, 2, 4, 6, ecc.
Esempi
Esecuzione a un orario ben preciso
Desidera 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
Offre all’utente del Suo sito la possibilità di caricare sul sito via e-mail un’immagine che lo ritrae. A tal fine deve 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 desidera scaricare un’immagine da una webcam della Sua città a intervalli regolari durante la notte. A tal fine ha 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
Può 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
Per ulteriori informazioni su come usare i cronjob Le suggeriamo ad esempio il link (in tedesco) http://www.howtoforge.de/anleitung/eine-kurze-einfuhrung-in-cron-jobs/ o un manuale Unix.
Per richieste di supporto la preghiamo di usare invece questo modulo.