CRM e piattaforme datiStrumenti di marketing

Comprendere e utilizzare Cron: una guida completa per pianificare i lavori

cron, abbreviazione di comando eseguito online, è un potente pianificatore di lavori basato sul tempo nei sistemi operativi simili a Unix. Il termine cron è un gioco di parole kronos or chronos, che nella mitologia greca rappresenta il tempo. Il nome cron per il pianificatore di lavoro basato sul tempo riflette la sua funzione di pianificazione ed esecuzione di attività in orari o intervalli specifici, rendendolo un riferimento appropriato al concetto di tempo nella mitologia.

Cron ti consente di automatizzare attività ripetitive, eseguire script a intervalli specifici e mantenere l'efficienza del sistema. Questa guida completa ti guiderà attraverso tutto ciò che devi sapere su cron, dall'installazione all'utilizzo, al vocabolario chiave e agli esempi di codice reale.

Sommario

  1. Cos'è Cron?
  2. Installazione di Cron
  3. Concetti di base e terminologia
  4. Sintassi Cron
  5. Esempi e casi d'uso
  6. Insidie ​​​​comuni e migliori pratiche
  7. Risorse cron aggiuntive

Cos'è Cron?

Cron è un demone (processo in background) che funziona su sistemi basati su Unix, inclusi Linux e macOS. Il suo scopo principale è eseguire automaticamente le attività pianificate. Queste attività possono variare da semplici script alla manutenzione del sistema e ai backup.

Installazione di Cron

Nella maggior parte dei sistemi simili a Unix, cron è preinstallato. Puoi verificarne la disponibilità aprendo un terminale e digitando:

crontab -e

Se questo comando apre l'editor della tabella cron, hai installato cron. In caso contrario, puoi installarlo utilizzando il gestore pacchetti del tuo sistema. Ad esempio, su Ubuntu, puoi usare:

sudo apt-get install cron

Concetti e terminologia di Cron

Prima di approfondire l'uso di cron, comprendiamo alcuni concetti e terminologia essenziali:

Spiegazione del diagramma Cron
  • crontab: Corto per tabella cron, è un file che contiene l'elenco delle attività pianificate per un utente.
  • cronjob: una singola attività o comando pianificato per l'esecuzione in un momento specifico.
  • campi: Ogni cronjob ha cinque campi che definiscono quando viene eseguito il lavoro:
    • Minuto (0-59)
    • Ora (0-23)
    • Giorno del mese (1-31)
    • Mese (1-12)
    • Giorno della settimana (0-7, dove sia 0 che 7 rappresentano domenica)

Sintassi Cron

Comprendere la sintassi di una voce crontab è fondamentale. Segue lo schema:

* * * * * command-to-be-executed

Ecco una spiegazione commentata che puoi inserire nel tuo lavoro cron:

# +---------------- minute (0 - 59)
# | +------------- hour (0 - 23)
# | | +---------- day of month (1 - 31)
# | | | +------- month (1 - 12)
# | | | | +---- day of week (0 - 6) (Sunday=0 or 7)
# | | | | |
* * * * * /var/www/html/myscript.php

Ogni asterisco (*) rappresenta un campo nell'espressione cron. Ad esempio, per pianificare un lavoro ogni giorno alle 3:30, dovresti utilizzare:

30 15 * * * command-to-be-executed

Esempi di Cron e casi d'uso

Esploriamo alcuni esempi pratici per illustrare l'utilizzo di cron:

  • Esecuzione di uno script ogni giorno: Per eseguire uno script ogni giorno a mezzanotte, puoi utilizzare:
0 0 * * * /path/to/script.sh
  • Esecuzione di uno script ogni ora: Per un'attività oraria, utilizzare:
0 * * * * /path/to/script.sh
  • Backup settimanale: Per pianificare un backup settimanale la domenica alle 2:XNUMX, utilizzare:
0 2 * * 0 /path/to/backup-script.sh
  • Esecuzione di un'attività in mesi specifici: Per eseguire un lavoro solo nei mesi di gennaio e luglio alle 8:30:
30 8 * 1,7 * /path/to/script.sh

Insidie ​​​​e migliori pratiche di Cron

  • variabili ambientali: Assicurati che i tuoi lavori cron impostino le variabili di ambiente necessarie, poiché i lavori cron non ereditano le variabili di ambiente della tua shell.
  • Permessi: Assicurati di impostare le autorizzazioni per il file di script come eseguibile. Ogni volta che salvavo nuovamente il mio script, scoprivo che le mie autorizzazioni dovevano essere impostate nuovamente!
  • Variabili di percorso: specifica il percorso completo degli eseguibili e degli script all'interno dei processi cron per evitare problemi con i percorsi relativi.
  • Testing: testali in un ambiente sicuro prima di impostare processi cron critici per garantire che funzionino come previsto.
  • Registrazione: reindirizza l'output dei tuoi processi cron in un file di registro per tracciarne l'esecuzione ed eventuali errori.
0 0 * * * /path/to/script.sh >> /path/to/cron.log 2>&1

Questo lavoro cron esegue uno script /path/to/script.sh ogni giorno a mezzanotte e l'output (sia stdout che stderr) generato dallo script viene aggiunto al file di registro

/path/to/cron.log. Questa è una pratica comune per acquisire e registrare l'output dei processi cron a scopo di monitoraggio e risoluzione dei problemi. Analizziamo questa specifica sintassi del processo cron:

  • *0 0 * * *: Questa parte definisce la pianificazione per l'esecuzione del processo cron. In questo caso, l'esecuzione è pianificata ogni giorno a mezzanotte (0 minuti e 0 ore).
  • /percorso/a/script.sh: questo è il comando o lo script da eseguire quando viene eseguito il processo cron. Questo esempio mostra uno script situato in /path/to/script.sh.
  • >> /percorso/del/cron.log: questa parte reindirizza l'output standard (stdout) del processo cron a un file di registro denominato cron.log situato in /path/to/. >> L'operatore aggiunge l'output al file di registro, quindi se il file non esiste, verrà creato e, se esiste già, l'output verrà aggiunto alla fine del file.
  • 2> e 1: viene utilizzato per reindirizzare sia l'output standard (stdout) che l'errore standard (stderr) allo stesso file di registro. IL 2 rappresenta stderr e il 1 rappresenta lo standard. COSÌ, 2>&1 significa che sia stdout che stderr vengono reindirizzati allo stesso file di registro specificato in precedenza.

Cron è uno strumento prezioso per automatizzare le attività sui sistemi basati su Unix. Grazie alle sue opzioni di pianificazione flessibili, può semplificare l'amministrazione del sistema e migliorare l'efficienza. Comprendendone la sintassi e seguendo le migliori pratiche, puoi sfruttare la potenza di cron per automatizzare in modo efficace le tue attività di routine.

Risorse Cron aggiuntive

Douglas Karr

Douglas Karr è CMO di ApriINSIGHTS e il fondatore della Martech Zone. Douglas ha aiutato dozzine di startup MarTech di successo, ha assistito nella due diligence di oltre 5 miliardi di dollari in acquisizioni e investimenti Martech e continua ad assistere le aziende nell'implementazione e nell'automazione delle loro strategie di vendita e marketing. Douglas è un esperto e relatore di trasformazione digitale e MarTech riconosciuto a livello internazionale. Douglas è anche autore di una guida per manichini e di un libro sulla leadership aziendale.

Articoli Correlati

Torna a pulsante in alto
Chiudi

Blocco annunci rilevato

Martech Zone è in grado di fornirti questi contenuti gratuitamente perché monetizziamo il nostro sito attraverso entrate pubblicitarie, link di affiliazione e sponsorizzazioni. Ti saremmo grati se rimuovessi il blocco degli annunci mentre visiti il ​​nostro sito.