Eseguendo script con il modulo Ansible Cron

Eseguendo script con il modulo Ansible Cron
Ansible è uno strumento semplice utilizzato per automatizzare vari compiti e processi IT manuali. Agisce come un gestore di nodi su SSH e può condividere l'automazione in intere organizzazioni come attività giornaliere automatizzate, installazione del software, distribuzione, gestione della configurazione e molti altri.

Moduli ansible

Ansible contiene moduli che sono un pezzo dello script gestito da Ansible per conto dell'utente per interagire con il sistema ed eseguire compiti specifici che coinvolgono controlli o automazione. Questi moduli possono interagire con un sistema remoto o locale per apportare modifiche desiderate. Ansible contiene un ampio set di moduli, ben oltre 800.

In questo articolo, abbiamo fatto luce sul modulo Cron e sul suo utilizzo. Questo modulo, insieme ad altri, può essere utilizzato dalla CLI (terminale) o in un compito di playbook. Va notato che i moduli possono essere scritti in qualsiasi editor di testo della scelta degli utenti fintanto che supportano il formato YAML e restituisce i dati del formato JSON.

Modulo Cron

In vari sistemi operativi Linux, un cron è uno strumento utilizzato per eseguire un set di script o comandi in un tempo predefinito. Questa corsa programmata viene spesso definita un "cron lavoro."

Questo modulo può essere usato come strumento autonomo su Linux senza la necessità di Ansible; Tuttavia, per facilità di utente in termini di fornitura e piattaforma, è preferito Ansible in quanto può semplificare la nostra accessibilità, dandoci così tonnellate di altre funzionalità sotto forma di vari moduli.

Ad esempio, per gestire vari lavori Cron, dovremmo scrivere manualmente il codice sul terminale; Tuttavia, con Ansible, possiamo sbarazzarci del lavoro noioso e ridurre sostanzialmente errori utilizzando il playbook per impostare i lavori Cron per i server che desideriamo configurare.

Come accennato in precedenza, Ansible utilizza moduli sul terminale o nel playbook. Il modulo CRON può gestire le voci del crontab utilizzando il playbook.

Il modulo CRON gestisce il crontab, in particolare le voci di Crrontab. Ha diversi parametri, che vengono brevemente discussi di seguito.

Parametri

Stringa come nome: Questa è la stringa che funge da nome per un determinato crontab. Questo parametro dovrebbe essere unico. Nel caso in cui non lo sia, avremo la nostra precedente attività Cron sostituita da quelle più recenti con lo stesso nome.

String come stato: Questa stringa specifica se la funzione è presente o assente. Ad esempio, vogliamo rimuovere un vecchio compito che non è più necessario. Possiamo rimuovere il lavoro prefisso come "#ansible: lavoro precedente" dal nostro crontab. Ora lo stato si presenterà come assente.

String come lavoro: Questa stringa è di solito il comando che stiamo per eseguire. Non è necessariamente richiesto se il nostro stato è assente; Tuttavia, nel caso di uno stato attuale, abbiamo bisogno dell'ingresso di lavoro sul nostro crontab. Questa stringa non può avere spazi.

String come utente: Questa stringa è per l'utente specifico il cui crontab deve essere modificato.

Tempo: Questa stringa include il timestamp contenente vari parametri relativi al tempo come una settimana, giorno, mese, anno, ora, minuto. La sua voce può essere scritta come "0,7,6 ** ls-alh>/dev/null" per implicare che il lavoro svolge alla 6a e 7a ora.

Tempo speciale. Questo parametro contiene valori di tempo speciali come ogni anno, settimanale, orario, mensile, riavvio, ecc., per rendere i lavori più periodici.

Esempi

Facciamo una nuova voce sul nostro sistema Linux come un playbook Ansible.

$ cd ~
$ mkdir ansible-workspace
$ cd ansible-workspace

Successivamente, chiamiamo il nostro libro Ansible (va notato che il playbook ha .Estensione Yaml).

$ Vim CRONTEST.YML

Con questo, quanto segue dovrebbe aprirsi.

Ora che siamo nel playbook, potremmo aggiungere i seguenti contenuti.

-Host: tutto
diventa vero
compiti:
-Nome: "Dimostrazione di Cronmodule"
Ansible.costruito.Cron
Nome: "Test"
Stato: presente
giorni feriali: "*"
mese: "*"
giorno: "*"
ora: "*"
Minute: "*"
Lavoro: "Cache = Cancella"

Ora, esegui questo playbook digitando il seguente comando nella shell di Linux:

libro di prova Ansible-Playbook.YML

Il codice sopra descritto utilizza Cronjob per programmare un tempo specifico per eseguire il proprio lavoro. In questo caso, il lavoro è quello di cancellare i dati dalle applicazioni di fondo. Questa memoria viene definita cache e si consiglia di pulirla regolarmente, in modo che il nostro sistema possa eseguire senza alcun carico inutile. Il cronjob sopra descritto ha ospiti impostati su "tutti."Ciò significa che tutti i sistemi remoti avranno eseguito il Cronjob e la condizione rimane vera fintanto che il playbook viene eseguito.

La terza riga descrive il compito del Cronjob, il nome dell'attività viene visualizzato come "Dimostrazione Cronjob", che apparirà nel registro di esecuzione Ansible. La riga successiva visualizza il modulo integrato “Ansible. costruito.Cron "

Diverse stringhe di tempo sono contrassegnate come "*" che indica l'operazione predefinita di Cron. I dati di cui sopra mostrano che il Cronjob verrà eseguito mercoledì alle 5 del mese in corso; Il lavoro sta cancellando la cache.

Vantaggi

Il modulo Cron ci offre diversi vantaggi, anche.

  • Nessun ricordo di occupazione durante l'esecuzione.
  • Più facile trasferimento di controllo all'utente quando Cronjob sta eseguendo.
  • Anche se il Cronjob non esegue per qualche ragione sconosciuta, si riprenderà di nuovo all'interno della stringa di tempo designata.

Conclusione

In questo articolo, abbiamo superato il modulo Cron per Ansible, responsabile dei tempi di diversi lavori che vogliamo assegnare al nostro sistema. È un comando principale importante quando si tratta di automatizzare diversi lavori per un periodo di tempo specifico. Speriamo che tu sia stato in grado di cogliere il funzionamento del modulo Cron e cancellare le tue domande dopo aver letto questo articolo.