{"id":468,"date":"2008-10-24T22:42:50","date_gmt":"2008-10-24T20:42:50","guid":{"rendered":"https:\/\/devpath.pro\/?p=468"},"modified":"2008-10-24T22:42:50","modified_gmt":"2008-10-24T20:42:50","slug":"ita-crontab-e-la-magia-dellesecuzione-automatica","status":"publish","type":"post","link":"https:\/\/fabiocicerchia.it\/os\/ita-crontab-e-la-magia-dellesecuzione-automatica","title":{"rendered":"[ITA] Crontab e la magia dell’esecuzione automatica"},"content":{"rendered":"\n

Se mai avete sentito parlare di crontab, cron o cronjobs e non siete mai riusciti a capire di cosa si stava parlando: questo tutorial \u00e8 per voi!\u00a0<\/p>\n\n\n\n

\u00a0Allora innanzitutto cron \u00e8 uno script utilissimo, e anche se ora non sapete di cosa stia parlando alla fine lo troverete utilissimo e vi risolver\u00e0 molti problemi… Crontab si utilizza sotto linux e consente lo scheduling di comandi, ovvero permette di salvarli in un file apposito (che poi vedremo) e fare in modo che il sistema li esegua in automatico ad intervalli regolari.\u00a0Ora vi spiego pi\u00f9 o meno come funziona… Crontab usa un demone chiamato crond, che \u00e8 costantemente in esecuzione, e ogni minuto recupera le informazioni contenute nel file di crontab. Il file di crontab segue una certa sintassi per l’esecuzione dei processi:<\/p>\n\n\n\n

* * * * * comando\/da\/eseguire
- - - - -
| | | | |
| | | | +----- giorno della settimana (0 - 6) (domenica=0)
| | | +------- mese (1 - 12)
| | +--------- giorno del mese (1 - 31)
| +----------- ora (0 - 23)
+------------- minuti (0 - 59)<\/pre>\n\n\n\n

Allora spiegare come funziona \u00e8 un po complicato… per\u00f2 non scoraggiatevi \u00e8 pi\u00f9 facile di quanto sembri! Vi chiarisco le idee con qualche esempio:<\/p>\n\n\n\n

30 *<\/strong> *<\/strong> *<\/strong> *<\/strong>  comando
# viene eseguito ogni 30 minuti (di ogni ora, di ogni giorno, ...)<\/em>
30 1,2,3 *<\/strong> *<\/strong> *<\/strong> comando
# viene eseguito ogni 30 minuti per\u00f2 solo all'una, alle due e alle tre(di ogni giorno, ...)<\/em>
*<\/strong> 1-5 *<\/strong> *<\/strong> *<\/strong> comando
#viene eseguito ogni ora dall'una alle cinque (di ogni giorno, ....)<\/em>
0,15,30,45 *<\/strong> 1 1 *<\/strong> comando
#viene eseguito ogni 15 minuti di ogni ora solo il 1\u00b0 gennaio<\/em>
*<\/strong> *<\/strong> *<\/strong> *<\/strong> 0,5 comando ><\/strong> \/<\/strong>tmp\/<\/strong>comando.log
#viene eseguito ogni domenica e venerdi e salva l'output del comando nel file<\/em><\/pre>\n\n\n\n

Con questi esempi spero di avervi chiarito un po le idee in merito a questo file di configurazione. Nell’ultimo esempio avete visto come il comando viene seguito dal salvataggio dell’output, questa tecnica \u00e8 utile a capire cosa succede quando il comando \u00e8 in esecuzione, in modo da salvare eventuali malfunzionamenti o errori. Per poter modificare il file di crontab dovete digitare:<\/p>\n\n\n\n

crontab -e<\/pre>\n\n\n\n

Normalmente, l\u2019output dei comandi eseguiti da crontab, viene per default inviato, dal demone cron, al relativo utete tramite mail. Per disabilitare l’email di notifica basta redigere l’output del comando in questo modo:<\/p>\n\n\n\n

* * * * 1 comando > \/dev\/null 2>&1<\/pre>\n\n\n\n

Questo \u00e8 tutto… ora sapete come si esegue un comando in automatico senza che voi facciate nulla\u00a0<\/p>\n","protected":false},"excerpt":{"rendered":"

Se mai avete sentito parlare di crontab, cron o cronjobs e non siete mai riusciti a capire di cosa si stava parlando: questo tutorial \u00e8 per voi!\u00a0 \u00a0Allora innanzitutto cron \u00e8 uno script utilissimo, e anche se ora non sapete di cosa stia parlando alla fine lo troverete utilissimo e vi risolver\u00e0 molti problemi… Crontab […]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"advgb_blocks_editor_width":"","advgb_blocks_columns_visual_guide":"","footnotes":""},"categories":[45],"tags":[43,11,44,46,38],"aioseo_notices":[],"author_meta":{"display_name":"fabio","author_link":"https:\/\/fabiocicerchia.it\/author\/fabio"},"featured_img":null,"coauthors":[],"tax_additional":{"categories":{"linked":["OS<\/a>"],"unlinked":["OS<\/span>"]},"tags":{"linked":["crontab<\/a>","italian<\/a>","linux<\/a>","process<\/a>","tutorial<\/a>"],"unlinked":["crontab<\/span>","italian<\/span>","linux<\/span>","process<\/span>","tutorial<\/span>"]}},"comment_count":"0","relative_dates":{"created":"Posted 15 years ago","modified":"Updated 15 years ago"},"absolute_dates":{"created":"Posted on October 24, 2008","modified":"Updated on October 24, 2008"},"absolute_dates_time":{"created":"Posted on October 24, 2008 10:42 pm","modified":"Updated on October 24, 2008 10:42 pm"},"featured_img_caption":"","series_order":"","_links":{"self":[{"href":"https:\/\/fabiocicerchia.it\/wp-json\/wp\/v2\/posts\/468"}],"collection":[{"href":"https:\/\/fabiocicerchia.it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fabiocicerchia.it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fabiocicerchia.it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fabiocicerchia.it\/wp-json\/wp\/v2\/comments?post=468"}],"version-history":[{"count":0,"href":"https:\/\/fabiocicerchia.it\/wp-json\/wp\/v2\/posts\/468\/revisions"}],"wp:attachment":[{"href":"https:\/\/fabiocicerchia.it\/wp-json\/wp\/v2\/media?parent=468"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fabiocicerchia.it\/wp-json\/wp\/v2\/categories?post=468"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fabiocicerchia.it\/wp-json\/wp\/v2\/tags?post=468"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}