Padronanza del processo Cron e automazione delle attività del server di base

Articolo scritto da:
  • Articoli consigliati
  • Aggiornato: Sep 06, 2017

L'hosting web è progettato per essere facile, diretto e perfetto per il professionista che è in movimento e semplicemente non può dedicare ogni ora di ogni giorno a gestendo il loro server di hosting e attività associate.

A tal fine, quasi tutti i server basati su Unix o Linux offrono un task manager automatizzato noto come "cron lavoro"O" Crontab ".

Questa utility software è molto simile all'utilità di pianificazione in Microsoft Windows, in quanto può essere detto di fare certe cose in determinati momenti, salvando un utente dall'eseguire queste attività manualmente. Ciò è particolarmente importante se si considera che molte routine di manutenzione, backup e comunicazioni di routine del server possono richiedere ore e ore per essere completate. Molte persone semplicemente vogliono tornare a casa dopo una giornata in ufficio e rilassarsi, piuttosto che passare la serata a fare il backup dei file e gestire i contatti.

Queste persone sono fortunate, poiché ogni attività può essere programmata su base giornaliera, settimanale o mensile - o anche a parte, in alcuni casi, e istruzioni specifiche possono essere fornite al server all'interno dell'utilità Crontab su come eseguire l'attività , come sapere quando è completo e cosa fare quando l'attività in corso è stata effettivamente completata.

Gli utenti potranno rilassarsi mentre il loro server fa tutto il lavoro pesante per ore; oppure possono semplicemente programmare il completamento del lavoro mentre lavorano duramente nei propri uffici. Poiché è automatizzato, un processo Cron può avvenire praticamente a qualsiasi ora del giorno.

Imparare a dire l'ora usando il formato di un lavoro Cron

Un lavoro Cron non è esattamente una cosa facile da padroneggiare; infatti, è ampiamente considerata una delle configurazioni più avanzate disponibili su uno standard Linux or Unix server web. Ciò è parzialmente dovuto al fatto che il linguaggio utilizzato per programmare questi lavori è così arcaico e, in alcuni casi, completamente arretrato. Quando si tratta di dire un certo tempo al lavoro Cron o alla scheda Cron in questione, le cose sono sicuramente al contrario, capovolte e un po 'confuse.

Il formato per calcolare l'ora tramite un processo Cron è tale:

COMANDO DI GIORNATA DELLA SETTIMANA DEL MESE DI GIORNO DEL MESE DI ORE MINUTI

È tutta una riga, e anche il numero e il comando sono fianco a fianco in una contrazione uniforme. È abbastanza per far sussultare la maggior parte degli sviluppatori e degli operatori di server e, in effetti, molti di loro lo fanno fino a quando non si bloccano lo sviluppo di un efficiente lavoro Cron.

È importante notare che ogni aspetto del tempo del lavoro Cron è numerico; non ci sono nomi di nomi di nomi di mese o altre parole utilizzate durante lo sviluppo del tempo durante il quale deve essere eseguita un'attività.

Pertanto, impostiamo un lavoro Cron per 10: 30 am su 7th di luglio per avere un'idea di come appare il tempo di un lavoro Cron quando viene trasformato in numeri rigorosamente.

30 10 07 07 *

L'esempio sopra afferma che il lavoro dovrebbe essere completato al 30th minuto della decima ora del settimo giorno del settimo mese. Tutti i numeri sono lunghi due cifre, anche quando il mese o il giorno è costituito da una sola cifra. Questo è importante da ricordare, poiché una singola cifra spesso causerà l'invalidità del lavoro Cron e semplicemente non verrà mai eseguito. Alla fine della struttura, un asterisco indica che il lavoro deve essere eseguito in qualsiasi giorno della settimana. Questo è importante, poiché impostarlo su 03 per mercoledì significherebbe che l'attività sarebbe eseguita solo su 7 di luglio se quel giorno fosse un martedì. È probabile che accada una volta ogni sette o otto anni, il che è un po 'assorbito dalla maggior parte degli sviluppatori.

Un'altra considerazione importante da fare quando si imposta un processo Cron è che il formato dell'ora è il tempo militare 24-ora anziché il tempo 12-ora civile. Per cambiare l'ora del processo Cron in 10 pm, l'ora verrebbe modificata in 22 anziché in 10 corrente.

Cron Esempi di lavoro

Infine, se un utente desidera semplicemente completare un'attività su base giornaliera, mensile o anche annuale, può saltare completamente il processo di impostazione di un tempo specifico. Invece, il processo di lavoro di Cron prevede semplicemente l'uso di variabili che determinano quando un lavoro viene svolto su questi intervalli frequenti. Questi includono:

  • @quotidiano
  • @mensile
  • @annuale

Poiché il tempo non può essere controllato e determinato in modo rigoroso utilizzando ore e minuti, questi lavori avverranno esattamente a mezzanotte, in base all'ora interna del server, all'intervallo richiesto. Ciò significa che l'intervallo @monthly avverrà esattamente a mezzanotte del primo giorno di ogni mese. L'intervallo @yearly si verificherà esattamente a mezzanotte del primo giorno di ogni anno; e l'intervallo @daily si verificherà esattamente a mezzanotte ogni singolo giorno dell'anno.

Ciò è molto più semplice rispetto all'impostazione di una data, un'ora e un giorno della settimana specifici, ma alcune attività eseguite a mezzanotte del primo giorno del mese o dell'anno potrebbero presentare alcuni inconvenienti per determinati clienti. Tenere sempre presenti le esigenze degli amministratori e dei visitatori del sito quando si pianificano attività che si verificano esattamente a mezzanotte.

Afferrare la variabile "COMANDO" e cosa fare con esso

Come si può vedere nell'esempio sopra, costruire un vero lavoro Cron è relativamente semplice. La data deve essere prima definita e successivamente la funzione del lavoro Cron viene definita in seguito. Tale funzione può essere letteralmente qualsiasi cosa, incluso l'esecuzione di uno script PHP o l'esecuzione di uno script di backup personalizzato che memorizza i file e i dati del server in un file remoto o locale. Per chiarimenti, baseremo sull'esempio precedentemente utilizzato e istruiremo il lavoro Cron per eseguire uno script PHP su 7 di luglio a 10: 30 al mattino. Questo script PHP si chiamerà "backup.php" e supponiamo che il file PHP sia uno script di backup completo che raccoglie, comprime e memorizza i file del sito il settimo mese quando viene richiesto dal server. Ecco come appare:

30 10 07 07 * http://your-domain-name.com/backup-scripts/backup.php

Quando questo lavoro Cron viene inserito nell'elenco delle schede Cron del server, verrà automaticamente eseguito su 10: 30 am ogni luglio 7th di ogni anno. Eseguirà lo script di backup PHP che si trova nella directory "backup-script", ed è qui che funziona il vero genio della configurazione del lavoro Cron.

Invece di richiedere i comandi avanzati dei propri utenti per eseguire operazioni come backup del sito e svuotamento della cache, offre semplicemente agli utenti la possibilità di eseguire script esistenti a intervalli specificati o in una data specifica in un momento specifico. Ciò significa che non è necessaria alcuna conoscenza di programmazione avanzata oltre a ciò che l'utente già conosce. PHP è perfettamente in grado di eseguire il backup dei file del sito, così come i file e i linguaggi di programmazione molto più avanzati che l'utente più sofisticato potrebbe sviluppare per il proprio server Linux.

Questa semplice configurazione può essere utilizzata per fare praticamente qualsiasi cosa, quindi, purché uno script pre-scritto preveda l'esecuzione di tali azioni indipendentemente dall'input dell'utente. Ciò significa che qualsiasi script eseguito da un processo Cron in una scheda di Cron deve essere completamente automatizzato e in grado di eseguire da solo, comunque. Ad esempio, sarebbe impossibile (e semplicemente illogico) dire al lavoro di Cron di eseguire un indice di WordPress o un file tematico ogni giorno alla stessa ora. Semplicemente non ci sono azioni o processi automatizzati definiti e, mentre il lavoro Cron eseguirà sicuramente il file, non farebbe nulla e rimarrebbe statico fino a quando l'input dell'utente non sarà fornito in un altro modo.

Per questo motivo, se si codifica o si scaricano script di backup o altri per lavorare con i processi Cron, accertarsi sempre che richiedano esattamente zero input dell'utente per eseguire correttamente le loro funzioni. Un pianificatore di attività automatizzato deve essere associato a un processo automatizzato all'interno del file che esegue. Non ci sono eccezioni a questa regola.

Padroneggiare il file General Cron Tab su un server tipico

Ogni specifico lavoro Cron che è specificato per l'esecuzione si trova all'interno di un file più grande che è noto come una scheda Cron. Alcuni server dispongono di più schede Cron per diversi tipi di applicazioni e input automatici, ma questo è raro e ampiamente riservato agli operatori e ai proprietari di server più avanzati. Coloro che hanno solo un file di tabulazione di Cron possono utilizzare i comandi seguenti per modificare, eliminare o visualizzare il file nella sua interezza, con ciascuna delle loro attività automatizzate specifiche elencate per la visualizzazione all'interno del file.

crontab -r

Questo comando rimuove (quindi "r") o elimina l'intero file della scheda Cron stesso. Ciò eliminerà efficacemente tutti i comandi e gli script automatizzati e lo ripristinerà in un file vuoto che può essere ricostruito. Questa è un'opzione adatta per coloro che sono riusciti a corrompere il file o in qualche modo a compiti e tempi inappropriati. A volte, è semplicemente più facile ricominciare da capo.

crontab -e

In questo caso, "e" sta per "edit". Quegli utenti che desiderano modificare le funzioni descritte in una scheda Cron piuttosto che cancellare completamente il file possono usare questo comando per essere portati all'editor della riga di comando che permetterà loro di aggiungere nuove attività, rimuovere quelle vecchie o modificare i tempi di pianificazione applicabili per ciascuno dei lavori Cron elencati nel documento della scheda Cron.

crontab -l

In questo caso, è abbastanza facile da ricordare associando la "L" al "look". Questo comando consente all'amministratore del server di visualizzare semplicemente l'intero contenuto del proprio file della scheda Cron senza rimuoverlo completamente dal server e senza avere la possibilità di modificarne il contenuto. Questa visualizzazione di sola lettura del contenuto della scheda Cron è perfetta per ricordare quali attività sono programmate per quali orari e per verificare l'integrità del file stesso.

Perché è importante padroneggiare il lavoro Cron e i file di automazione della scheda Cron

In generale, l'unica cosa automatizzata su un server è la rotazione del suo disco rigido e le prestazioni delle sue funzionalità hardware. Oltre a ciò, tuttavia, il server deve essere addestrato e istruito a svolgere compiti di routine e straordinari che vanno ben oltre la semplice visualizzazione di un pannello di controllo software o l'aggiornamento dell'installazione di PHP o Perl che un utente ha inserito sul disco rigido.

È importante ricordare che una delle funzioni più essenziali che un server può eseguire su base regolare è la creazione di un backup del sito di dati e impostazioni. Non esiste praticamente alcun modo per automatizzare questo processo senza un lavoro Cron e, a causa della natura di Internet e di tutti i visitatori malintenzionati che passano quotidianamente attraverso un sito, la mancata automazione di questo processo su base giornaliera o settimanale potrebbe comportare un significativo e catastrofica perdita di dati.

Oltre a ciò, tuttavia, ci sono una serie di attività che dovrebbero essere automatizzate utilizzando il processo di lavoro Cron. Queste attività includono l'eliminazione di eventuali cache del sito che potrebbero mostrare immagini obsolete o contenuti stampati ai visitatori del sito; include anche la cancellazione di vecchi file, la pulizia di vecchie directory e immagini e la garanzia che tutto ciò che è memorizzato sul disco rigido di un server sia attuale e non corrotto.

Proprio come un personal computer sano programma automaticamente la manutenzione del disco, scansioni antivirus e antimalware, aggiornamenti software e cancellazioni di file, un server sano deve essere configurato per prendersi cura di se stesso e rimanere in regola. In caso contrario, diventa vulnerabile a arresti anomali, tentativi di hacking e perdita di dati che porteranno a profitti persi, pubblicità, creazione di contenuti e persino lo stato di ranking dei motori di ricerca.

Facile da apprendere e più facile da implementare

La creazione di un processo Cron in una scheda Cron standard è una delle operazioni più semplici che un amministratore del server può fare.

Il processo si trova all'interno della riga di comando standard e suddivide ogni segmento di tempo in un codice a due cifre.

Poiché non richiede alcuna conoscenza aggiuntiva di alcun nuovo linguaggio di programmazione per automatizzare le attività, il servizio si basa essenzialmente sulla conoscenza di operazioni di programmazione e server esistente che un amministratore possiede già. In questo caso, non vi è alcun motivo per non iniziare ad automatizzare le funzioni essenziali del server e garantire l'integrità dei dati e delle operazioni del sito.

A proposito di Jerry Low

Fondatore di WebHostingSecretRevealed.net (WHSR) - una recensione di hosting fidata e utilizzata dagli utenti di 100,000. Più di 15 anni di esperienza in web hosting, affiliate marketing e SEO. Collaboratore di ProBlogger.net, Business.com, SocialMediaToday.com e altro.