6 Ottobre 2022

Cron Jobs, la guida completa e come pianificare le attività tramite cronjobs

Come poter eseguire comandi, task ed attività ad uno specifico orario, anche ripetutamente? Ecco cos’è un cronjob.

Cron Jobs

I Cronjob sono un tipo di sistema di pianificazione che può essere utilizzato per automatizzare i processi aziendali. Un Cronjob è un comando o un programma che viene eseguito in un momento o periodo specificato. Lo scopo di questi cronjobs è eseguire le attività automaticamente, il che significa che non è necessario accedere al sistema ogni volta che si desidera eseguire qualcosa.

Questo articolo tratterà tutto, da cosa sono i Cronjob e come possono aiutare la tua azienda, fino alla loro configurazione e utilizzo.

Cosa sono i Cronjob?

I Cronjob sono integrati in sistemi operativi simili a Unix e vengono utilizzati per pianificare attività di sistema che devono essere eseguite in un momento specifico. Sebbene non siano qualcosa che la maggior parte degli utenti dovrà mai configurare o gestire direttamente, sono uno strumento prezioso per gli amministratori e gli sviluppatori di software che hanno bisogno di automatizzare le attività di routine.

Possono essere utilizzati per automatizzare attività ripetitive, come l’invio di una newsletter giornaliera o l’esecuzione di comandi su un server. I processi Cron possono essere programmati per l’esecuzione una volta al minuto, una volta all’ora o anche una volta al giorno.

‘Cron’ è l’abbreviazione di cronometro e in pratica significa “cronometro”. Un processo cron viene eseguito a orari o intervalli predefiniti. Ad esempio, puoi pianificare un backup del database da eseguire ogni giorno alle 17:00.

Per cosa possono essere utilizzati i Cronjob?

I Cronjob vengono utilizzati per pianificare le attività su base periodica. Ad esempio, potresti avere un processo cron che viene eseguito ogni giorno per eseguire un backup dei dati, archiviare vecchi file o avere un processo cron che viene eseguito ogni giorno alle 19:30 che invia rapporti via e-mail ai tuoi clienti.

Quali sono i vantaggi dell’utilizzo di schedulare i Cronjob?

I Cronjob sono un ottimo modo per liberare tempo e risparmiare denaro. Invece di dover dedicare il tuo tempo alla pianificazione manuale delle attività, i Cronjob possono essere impostati per essere eseguiti automaticamente a orari o intervalli specifici. Ciò significa che non devi preoccuparti di perdere un’attività importante, come inviare e-mail di marketing o aggiornare un’immagine sul tuo sito web.

I Cronjob ti fanno anche risparmiare denaro riducendo la quantità di tempo speso in attività noiose come l’aggiornamento dei social media, l’esecuzione di backup o il monitoraggio dei siti Web per le modifiche del traffico. Con un programmatore di Cronjob, tutto questo lavoro verrà svolto automaticamente quando pianificato in modo da non consumare più il tuo prezioso tempo di sviluppo!

Come impostare un programmatore di Cronjob

Un cron job scheduler è uno strumento che consente di pianificare attività da eseguire a orari o intervalli specificati. Puoi persino usarli sul tuo computer o su altri computer. Sono incredibilmente utili per automatizzare molti diversi tipi di attività, incluso l’aggiornamento del tuo sito Web e il backup di file da altri dispositivi nella tua rete.

Esistono due sistemi operativi che supportano la pianificazione dei processi cron: Linux e sistemi simili a Unix (come Mac OS X), che hanno il metodo di accesso root più tradizionale; e Windows 10 Pro (che ha una funzionalità aggiunta chiamata Utilità di pianificazione). Ci saranno alcune lievi differenze tra questi metodi a seconda del sistema operativo in uso, ma tutti ti permetteranno di impostare attività automatizzate!

Il processo per creare un Cron Job di base è piuttosto semplice: apri la finestra del terminale facendo clic su “Mostra icone nascoste” → “Visualizza” → “Opzioni di visualizzazione tutte” → Fai clic su “Mostra strumenti per sviluppatori” e infine fai clic su “Prompt CMD ( amministratore).” Una volta all’interno di questa nuova finestra, digita “crontab -e” senza virgolette al prompt dei comandi, quindi premi Invio! Questo aprirà Nano, l’editor di testo predefinito.

Come pianificare attività su Windows

  • Innanzitutto, assicurati di aver effettuato l’accesso come amministratore o di avere lo stesso accesso di amministratore.
  • Vai su Start -> Pannello di controllo -> Sistema e sicurezza -> Strumenti di amministrazione -> Utilità di pianificazione

Azione -> Crea attività di base -> Digita un nome per il lavoro pianificato e fai clic su ‘ Avanti ‘

  • Segui la procedura guidata per selezionare le attività e gli orari che desideri.

I tuoi Cronjob ora verranno eseguiti automaticamente agli intervalli specificati secondo le tue impostazioni, proprio come qualsiasi altra attività di Windows o evento pianificato

Come pianificare attività su Mac OSX

Per pianificare attività su Mac OSX:

  • Fai clic sulla cartella Applicazioni nel Finder e cerca l’app Terminale.
  • Apri l’app facendo doppio clic su di essa o premendo Comando + barra spaziatrice e digitando “Terminale” in Spotlight Search (che aprirà una nuova scheda in Safari).
  • Digita il seguente comando: sudo crontab -e
  • Nella finestra “Cron” che si apre, digita il comando desiderato per pianificare un’attività (vedi esempio sopra). Puoi anche aggiungere più comandi qui se preferisci!
  • Premi Invio al termine della digitazione dei comandi, quindi chiudi Terminale facendo clic su File > Chiudi scheda nell’angolo in alto a sinistra della finestra o premendo Comando + Q

Come pianificare attività su Linux

Quando si tratta di configurare i Cronjob di Linux, ci sono alcune cose che devi sapere. Innanzitutto, puoi creare e pianificare attività con l’aiuto dell’utilità crontab. La sintassi per questo comando è la seguente:

[user]@[hostname]:~$ sudo crontab -e

Dove utente è il tuo nome utente sulla macchina host e il nome host è l’indirizzo IP o il nome host del tuo server (non devi inserire entrambi). Il simbolo della tilde (~) rappresenta la tua home directory sui sistemi Linux, quindi se il tuo nome utente è “John Doe” allora ~ si riferirà a /home/john/. Quando esegui questo comando su Ubuntu 18.04 Bionic Beaver (che viene fornito con Python 3) vedrai:

```python2
John Doe's Desktop 2 [21/08/2018 09:54]$ sudo crontab -e
```

I crontab sono archiviati in /var/spool/cron/. Puoi modificarli con qualsiasi editor di testo come vim o nano.

 

10 esempi di Cronjob per migliorare l’efficienza aziendale

In un ambiente aziendale, ci sono molte attività che devono essere eseguite di routine. Queste attività possono essere eseguite manualmente, ma sono spesso ripetitive o sensibili al tempo. Ad esempio, potresti voler eseguire un rapporto ogni mese o inviare un promemoria via email ai tuoi dipendenti ogni settimana. In questi casi, l’utilizzo di cron job per automatizzare questi processi farà risparmiare tempo e li renderà più efficienti. Ecco 10 esempi di come utilizzare i Cronjob nella tua azienda:

1. Promemoria e-mail

I promemoria via e-mail sono un ottimo modo per ricordare ai clienti eventi o scadenze imminenti. Ad esempio, puoi programmare l’invio di un’e-mail quando si avvicina l’evento di un cliente in modo che sappia cosa aspettarsi e possa prepararsi di conseguenza.

Il codice seguente invierà un promemoria via email una settimana prima del tuo compleanno:

crontab -e * * * 2 # 0 0 1 * – nome: Invia email di promemoria compleanno: me@example.com

Se desideri ricevere il promemoria solo in determinati giorni della settimana, utilizza una delle seguenti righe al posto di “0 0 1 *” sopra:

  • domenica (domenica) alle 12:00
  • lunedì (lun) alle 12:00
  • Martedì (mar) alle 12:00
  • mercoledì (mercoledì) alle 12:00
  • giovedì (gio) alle 12:00
  • Venerdì (venerdì) alle 12:00
  • Sabato (sabato) alle 12:00

2. Backup del database

È possibile impostare un processo cron per eseguire backup del database e ripristinarli. Puoi anche automatizzare i backup del database con un processo cron, in modo che vengano eseguiti di notte o nei fine settimana quando ci sono meno utenti nel sistema.

3. Archiviazione di vecchi dati

Se la tua azienda è come la maggior parte, hai molti dati che vengono archiviati e dimenticati. Questo è un problema perché con il passare del tempo, è più probabile che i file più vecchi vadano persi se succede qualcosa ai dischi rigidi o al server.

Per assicurarti che ciò non accada, dovresti impostare una pianificazione per l’archiviazione dei vecchi dati. I Cronjob sono lo strumento perfetto per la pianificazione dell’archiviazione perché sono facili da configurare ed eseguire automaticamente in background senza alcun intervento da parte degli utenti.

4. Monitoraggio e avviso

L’avviso è un processo che monitora lo stato di un sistema o di un’applicazione e avvisa il personale appropriato quando si verifica un evento che richiede attenzione. Gli avvisi possono essere attivati da eventi come un cambiamento nell’utilizzo della CPU, la modifica di file o una connessione di rete.

Il tipo più comune di avviso è un messaggio di posta elettronica inviato a qualcuno (o più persone) che deve intervenire immediatamente. Ciò è utile per garantire che le violazioni della sicurezza vengano rilevate il prima possibile in modo che possano essere fermate prima di causare ulteriori danni o essere notate da altri al di fuori della tua azienda. Sono disponibili molti tipi diversi di avvisi, alcuni esempi includono:

  • Notifiche di posta elettronica
  • SMS/messaggi di testo
  • Chiamate telefoniche

5. Analisi o reportistica dei dati

Se stai cercando esempi di attività di analisi o reporting che possono essere eseguite da processi cron, ce ne sono molti là fuori. Il più popolare è probabilmente Google Analytics, che consente agli utenti di importare i dati sul traffico del proprio sito in un’app e quindi pianificare i rapporti nell’ora in cui desiderano che vengano inviati in un dato giorno.

Se hai dipendenti che lavorano in remoto (o anche se non lo sono), è importante che sappiano quali sono le loro attività quotidiane e quando devono completarle prima di impostare un Cronjob con avvisi e-mail. Ciò assicurerà che tutti i dipendenti adempiano alle loro responsabilità e svolgano il lavoro in tempo senza dover chiedere a nessun altro da dove dovrebbero iniziare o cosa esattamente deve fare oggi!

Sapere che ogni membro del team comprende quali attività devono essere completate può aiutare a eliminare qualsiasi confusione su quanto tempo è rimasto prima dell’arrivo di una scadenza importante, il che potrebbe significare meno stress per tutte le persone coinvolte nel lavoro!

6. Esecuzione di script di inventario

Gli script di inventario vengono utilizzati per tenere traccia dell’inventario di un prodotto. Ad esempio, se hai un prodotto venduto in negozi e magazzini, puoi utilizzare uno script di inventario per assicurarti che il tuo negozio abbia abbastanza prodotti per i clienti. Puoi anche utilizzare questo tipo di script per tenere traccia della quantità di stock in ciascuna ubicazione di magazzino e determinare quali ubicazioni si stanno esaurendo più velocemente di altre.

7. Sincronizzazione di file tra sistemi

È possibile creare un cron job che sincronizzerà i file tra i sistemi.

Ad esempio, se si utilizza uno strumento di sincronizzazione file come https://www.rsync.net e sia il server di origine che quello di destinazione sono impostati correttamente, è possibile utilizzare l’ utilità della riga di comando rsync per eseguire questa attività automaticamente.

8. Verifica degli aggiornamenti software

È possibile verificare la presenza di aggiornamenti software utilizzando il comando seguente:

apt-get update

Per installare un aggiornamento, eseguire questo comando:

apt-get upgrade -y

Per pianificare un aggiornamento software in modo che avvenga automaticamente in un momento specifico, aggiungi il seguente processo cron al file crontab del tuo sistema (che puoi trovare digitando “sudo nano /etc/cron.d/”):

* */5 * * * root apt-get upgrade -y

Se desideri ripristinare un aggiornamento installato, esegui questo comando:

apt-update && apt-full dist-upgrade -reinstall --auto-remove && reboot

9. Chiamare le API a intervalli regolari

Esistono numerose API popolari che puoi utilizzare per automatizzare alcune attività all’interno della tua azienda. Ad esempio, puoi creare un processo cron che chiama l’API di Google Calendar ogni ora e crea eventi in base alla presenza o meno di riunioni programmate per il giorno successivo. Ciò garantirebbe che il calendario sia sempre aggiornato e impedirebbe inoltre ai dipendenti di dover aggiornare manualmente i propri calendari dopo che le riunioni sono state annullate o riprogrammate.

Per esempio:

  • API di Google Calendar: un tipo “personale” di servizio Web in cui gli utenti possono mantenere i propri calendari e condividerli con altre persone.
  • Upwork API: un tipo di servizio Web “aziendale” in cui le aziende possono assumere liberi professionisti con competenze diverse a tariffe ragionevoli (rispetto a quanto pagherebbero internamente).

10. Esecuzione di scansioni di sicurezza o strumenti di valutazione delle vulnerabilità.

Gli strumenti di scansione della sicurezza scansionano la rete alla ricerca di vulnerabilità e possono essere utilizzati per identificare i punti deboli del software, dei sistemi operativi e delle applicazioni aperte agli hacker. Gli strumenti di valutazione delle vulnerabilità ti aiutano a testare la sicurezza dei tuoi dispositivi hardware (come le stampanti) controllando se sono stati configurati correttamente. Questi strumenti ti consentono di migliorare l’efficienza aziendale garantendo che tutti i tuoi dispositivi siano protetti dagli attacchi informatici. L’impostazione di processi cron per automatizzare queste scansioni e inviare avvisi o report e-mail, se necessario, offre un altro grande vantaggio.

Terminologia di Cron Job

Cron

Cron è un programma di pianificazione dei lavori basato sul tempo che viene eseguito in background su un server. I Cronjob sono script o programmi che vengono eseguiti automaticamente a intervalli specifici per attività di routine come l’invio di notifiche e-mail, l’aggiornamento dei dati di analisi, ecc.

I Cronjob possono essere impostati per essere eseguiti una volta, ogni giorno, settimanalmente e mensilmente. La maggior parte delle implementazioni di cron consente agli utenti di impostare i lavori da eseguire in una determinata ora del giorno o giorno della settimana (o settimana). Un processo cron verrà messo in coda fino all’arrivo del tempo di esecuzione pianificato, quindi eseguito in quel momento.

Cron Jobs

Gli eventi effettivi pianificati utilizzando Cron con un intervallo di tempo e un comando specifici.

I Cronjob possono essere programmati per essere eseguiti a un’ora specifica oa un’ora specifica del giorno.

  • *Ad un’ora specifica.* Il Cronjob verrà eseguito alla data e all’ora specificate.
  • *Ad un’ora specifica del giorno.* Il Cronjob verrà eseguito durante l’ora specificata (0-23).

Un Cronjob ha tre parti: un intervallo, un comando e il nome di un utente che eseguirà il comando.

Il demone cron è un programma di pianificazione dei lavori basato sul tempo che viene eseguito su sistemi operativi Unix e simili a Unix che consente di pianificare i comandi da eseguire a orari o intervalli specifici.

Crontab

Un file di configurazione contenente tutti i Cronjob pianificati.

Crontab è un file di configurazione che contiene l’elenco dei lavori da eseguire a orari specificati. Di solito risiede in /etc/cron.d e viene modificato utilizzando l’editor crontab.

Editore Crontab

Uno strumento che ti consente di modificare facilmente il tuo file crontab, senza dover utilizzare alcun codice.

Conclusione

Si spera che ormai tu sia convinto che i Cronjob siano uno strumento utile per automatizzare i processi aziendali. Hanno molti vantaggi e possono farti risparmiare tempo a lungo termine. Tuttavia, richiedono alcune impostazioni prima di funzionare correttamente, quindi assicurati di sapere quali sono le tue esigenze prima di iniziare!

 

Hai dei dubbi? Non sai da dove iniziare? Contattaci !

Abbiamo tutte le risposte alle tue domande per aiutarti nella giusta scelta.

Chatta con noi

Chatta direttamente con il nostro supporto prevendita.

0256569681

Contattaci telefonicamente negli orari d’ufficio 9:30 – 19:30

Contattaci online

Apri una richiesta direttamente nell’area dei contatti.

INFORMAZIONI

Managed Server S.r.l. è un player italiano di riferimento nel fornire soluzioni avanzate di sistemistica GNU/Linux orientate all’alta performance. Con un modello di sottoscrizione dai costi contenuti e prevedibili, ci assicuriamo che i nostri clienti abbiano accesso a tecnologie avanzate nel campo dell’hosting, server dedicati e servizi cloud. Oltre a questo, offriamo consulenza sistemistica su sistemi Linux e manutenzione specializzata in DBMS, IT Security, Cloud e molto altro. Ci distinguiamo per l’expertise in hosting di primari CMS Open Source come WordPress, WooCommerce, Drupal, Prestashop, Joomla, OpenCart e Magento, affiancato da un servizio di supporto e consulenza di alto livello adatto per la Pubblica Amministrazione, PMI, ed aziende di qualsiasi dimensione.

Red Hat, Inc. detiene i diritti su Red Hat®, RHEL®, RedHat Linux®, e CentOS®; AlmaLinux™ è un marchio di AlmaLinux OS Foundation; Rocky Linux® è un marchio registrato di Rocky Linux Foundation; SUSE® è un marchio registrato di SUSE LLC; Canonical Ltd. detiene i diritti su Ubuntu®; Software in the Public Interest, Inc. detiene i diritti su Debian®; Linus Torvalds detiene i diritti su Linux®; FreeBSD® è un marchio registrato di The FreeBSD Foundation; NetBSD® è un marchio registrato di The NetBSD Foundation; OpenBSD® è un marchio registrato di Theo de Raadt. Oracle Corporation detiene i diritti su Oracle®, MySQL®, e MyRocks®; Percona® è un marchio registrato di Percona LLC; MariaDB® è un marchio registrato di MariaDB Corporation Ab; REDIS® è un marchio registrato di Redis Labs Ltd. F5 Networks, Inc. detiene i diritti su NGINX® e NGINX Plus®; Varnish® è un marchio registrato di Varnish Software AB. Adobe Inc. detiene i diritti su Magento®; PrestaShop® è un marchio registrato di PrestaShop SA; OpenCart® è un marchio registrato di OpenCart Limited. Automattic Inc. detiene i diritti su WordPress®, WooCommerce®, e JetPack®; Open Source Matters, Inc. detiene i diritti su Joomla®; Dries Buytaert detiene i diritti su Drupal®. Amazon Web Services, Inc. detiene i diritti su AWS®; Google LLC detiene i diritti su Google Cloud™ e Chrome™; Facebook, Inc. detiene i diritti su Facebook®; Microsoft Corporation detiene i diritti su Microsoft®, Azure®, e Internet Explorer®; Mozilla Foundation detiene i diritti su Firefox®. Apache® è un marchio registrato di The Apache Software Foundation; PHP® è un marchio registrato del PHP Group. CloudFlare® è un marchio registrato di Cloudflare, Inc.; NETSCOUT® è un marchio registrato di NETSCOUT Systems Inc.; ElasticSearch®, LogStash®, e Kibana® sono marchi registrati di Elastic N.V. Questo sito non è affiliato, sponsorizzato, o altrimenti associato a nessuna delle entità sopra menzionate e non rappresenta nessuna di queste entità in alcun modo. Tutti i diritti sui marchi e sui nomi di prodotto menzionati sono di proprietà dei rispettivi detentori di copyright. Ogni altro marchio citato appartiene ai propri registranti. MANAGED SERVER® è un marchio registrato a livello Europeo da MANAGED SERVER SRL Via Enzo Ferrari, 9 62012 Civitanova Marche (MC) Italia.

Torna in alto