SSH - Attività pianificate

Procédure

SSH - Attività pianificate

Gran parte dell'amministrazione del sistema può essere automatizzata tramite script Perl o script di shell eseguiti a intervalli regolari. Ad esempio, si può avere uno script che controlla che il disco non sia pieno e che viene eseguito una volta all'ora per avvisare l'utente se ci sono problemi. Il meccanismo più comune per pianificare i comandi sui sistemi Linux è il pacchetto cron.

In Debian, il pacchetto cron fa parte del sistema di base ed è in esecuzione per impostazione predefinita.

Cron viene fornito con Debian per due scopi:

  • Eseguire attività di sistema su base giornaliera/settimanale/mensile.

  • Per consentire agli utenti di configurare le proprie attività programmate.


Il pacchetto Cron crea automaticamente le seguenti directory:

/etc/cron.d /etc/cron.daily /etc/cron.hourly /etc/cron.monthly /etc/cron.weekly


A parte la prima, che è speciale, queste directory consentono di pianificare le attività per l'intero sistema in modo semplice. Qualsiasi script inserito al loro interno verrà eseguito con la frequenza suggerita dal nome.

Ad esempio, se si colloca uno script all'interno di /etc/cron.daily, esso verrà eseguito una volta al giorno, tutti i giorni.

Queste directory sono utili in alcuni casi, ma se avete bisogno di regolare ulteriormente i tempi di esecuzione, potete farlo modificando il file /etc/crontab, che spiegheremo in seguito:

Il modo normale in cui si usa cron è attraverso il comando crontab. Questo permette di visualizzare o modificare il file crontab, che è un file per utente contenente voci che descrivono i comandi da eseguire e l'ora in cui eseguirli.

Per visualizzare il file si esegue il seguente comando:

crontab -l


L'utente root può visualizzare il file crontab di qualsiasi utente aggiungendo -u username, ad esempio :

crontab -u username -l


Il formato di questi file è abbastanza semplice da capire. Ogni riga è un insieme di sei campi separati da spazi.

I campi sono :

  1. Il numero di minuti dopo l'ora (da 0 a 59)

  2. L'ora in formato militare (24 ore) (da 0 a 23)

  3. Il giorno del mese (da 1 a 31).

  4. Mese (da 1 a 12).

  5. Giorno della settimana (0 o 7).

  6. Il comando da eseguire.


Il loro aspetto è il seguente:

* * * * * Comando da eseguire - - - - - - | | | | | | | | +-----> Giorno della settimana (0-7) | | +-----------> Il mese (1 - 12) | +-----------------> Il giorno del mese (1 - 31) | +-----------------------> L'ora (0 - 23) +-----------------------------> I minuti (0 - 59)

(Ciascuno dei primi cinque campi contiene solo numeri, ma possono essere lasciati come * per indicare che qualsiasi valore è accettabile).


Ora che abbiamo visto la struttura, dovremmo provare a eseguire un paio di esempi:

Modificare il file crontab:

crontab -e


Questo eseguirà l'editor predefinito sul file crontab (creandolo se necessario). Quando si salva il file e si esce dall'editor, il crontab sarà installato nel sistema, a meno che non presenti errori.

L'editor predefinito è nano

Inserire il seguente testo:

0 * * * * /bin/ls > /var/log/ls.log


Una volta salvato il file e uscito dall'editor, verrà visualizzato un messaggio del tipo :

crontab: installazione del nuovo crontab


È possibile verificare che il file contenga ciò che ci si aspetta con:

crontab -l


In questo caso abbiamo detto a Cron di eseguire il comando /bin/ls e di reindirizzare l'output del comando al file /var/log/ls.log ogni volta che i minuti sono uguali a 0, cioè eseguirà il comando all'ora, ogni ora.

Altri esempi:

Eseguire il comando "notte" dieci minuti dopo la mezzanotte, ogni giorno

10 0 * * * /bin/notte


Eseguire il comando "lunedì" ogni lunedì alle 2 del mattino

0 2 * * 1 /usr/local/bin/lundi


Se si vuole eseguire qualcosa in modo molto regolare, si può usare una sintassi diversa: invece di usare solo numeri, si possono usare intervalli o serie.

Una serie di numeri indica che ogni punto di questo intervallo sarà disponibile, quindi se si utilizza la seguente riga, si esegue un comando alle ore 1, 2, 3 e 4:

* 1-4 * * /bin/command


Un insieme è simile: consiste in un insieme di numeri separati da virgole, ogni elemento dell'elenco verrà abbinato. L'esempio precedente si presenta così, utilizzando gli insiemi:

* 1,2,3,4 * * /bin/command

Vota questo articolo :

5/5 | 2 parere

Questo articolo vi è stato utile ?

Article utile

Article non utileNo

Vous souhaitez nous laisser un commentaire concernant cet article ?

Si cela concerne une erreur dans la documentation ou un manque d'informations, n'hésitez pas à nous en faire part depuis le formulaire.

Pour toute question non liée à cette documentation ou problème technique sur l'un de vos services, contactez le support commercial ou le support technique

MerciMerci ! N'hésitez pas à poser des questions sur nos documentations si vous souhaitez plus d'informations et nous aider à les améliorer.


Vous avez noté 0 étoile(s)

Articoli simili

2mn lettura

Come si configura il firewall su un server VPS dedicato?

1mn lettura

Come posso connettermi come root su un server VPS dedicato con Putty?

0mn lettura

Comandi SSH di Linux / Debian

0mn lettura

SSH - Comando Apt-get: installazione e disinstallazione di pacchetti


Fate una domanda al team LWS e alla sua comunità