GNU/Linux >> Linux Esercitazione >  >> Linux

Come eseguire Cron ogni 5 minuti, secondi, ore, giorni, mesi

Domanda: Come eseguo determinati script di shell a intervalli specifici in Linux utilizzando cron job? Fornisci esempi utilizzando periodi di tempo diversi.

Risposta: Crontab può essere utilizzato per pianificare un lavoro che viene eseguito su determinati interni. L'esempio qui mostra come eseguire uno script di shell backup.sh utilizzando intervalli diversi.

Inoltre, non dimenticare di leggere il nostro precedente articolo crontab che contiene 15 esempi pratici e spiega anche @monthly, @daily, .. tag che puoi usare nel tuo crontab.

1. Esegui un processo cron ogni 5 minuti

Il primo campo è per i minuti. Se specifichi * in questo campo, viene eseguito ogni minuto. Se specifichi */5 nel 1° campo, viene eseguito ogni 5 minuti come mostrato di seguito.

*/5 * * * * /home/ramesh/backup.sh

Nota: Allo stesso modo, usa */10 ogni 10 minuti, */15 ogni 15 minuti, */30 ogni 30 minuti, ecc.

2. Esegui un processo cron ogni 5 ore

Il secondo campo è per ore. Se specifichi * in questo campo, viene eseguito ogni ora. Se specifichi */5 nel 2° campo, viene eseguito ogni 5 ore come mostrato di seguito.

0 */5 * * * /home/ramesh/backup.sh

Nota: Allo stesso modo, usa */2 ogni 2 ore, */3 ogni 3 ore, */4 ogni 4 ore, ecc.

3. Esegui un lavoro ogni 5 secondi

Il lavoro Cron non può essere utilizzato per pianificare un lavoro a intervalli di secondi. cioè non è possibile pianificare un processo cron da eseguire ogni 5 secondi. L'alternativa è scrivere uno script di shell che utilizzi il comando "sleep 5".

Crea uno script di shell ogni-5-secondi.sh usando bash while loop come mostrato di seguito.

$ cat every-5-seconds.sh
#!/bin/bash
while true
do
 /home/ramesh/backup.sh
 sleep 5
done

Ora, esegui questo script di shell in background usando nohup come mostrato di seguito. Ciò continuerà a eseguire lo script anche dopo la disconnessione dalla sessione. Questo eseguirà lo script della shell backup.sh ogni 5 secondi.

$ nohup ./every-5-seconds.sh &

4. Esegui un lavoro ogni 5 giorni feriali

Questo esempio non riguarda la pianificazione "ogni 5 giorni". Ma questo è per la pianificazione "ogni 5 giorni feriali".

Il 5° campo è DOW (giorno della settimana). Se specifichi * in questo campo, viene eseguito ogni giorno. Per eseguire ogni venerdì, specifica 5 di venerdì in questo campo.

L'esempio seguente esegue backup.sh ogni venerdì a mezzanotte.

0 0 * * 5 /home/ramesh/backup.sh
(or)
0 0 * * Fri /home/ramesh/backup.sh

Puoi utilizzare il numero utente o l'acronimo di tre lettere corrispondente per il giorno della settimana come mostrato di seguito.

  • 0=domenica
  • 1=lun
  • 2=mar
  • 3=Mer
  • 4=gio
  • 5=ven
  • 6=sab

Nota: Prendi l'abitudine di usare Ven invece di 5. Tieni presente che il numero inizia con 0 (non con 1) e 0 è per Sun (non Mon).

5. Esegui un lavoro ogni 5 mesi

Non esiste un modo diretto per dire "ogni 5 mesi", invece devi specificare in quali mesi specifici desideri eseguire il lavoro. Probabilmente potresti voler eseguire il lavoro il 5° mese (maggio) e il 10° mese (ottobre).

Il quarto campo è per i mesi. Se specifichi * in questo campo, viene eseguito ogni mese. Per eseguire per il mese specifico, è necessario specificare il numero che corrisponde al mese. Ad esempio, per eseguire il lavoro nei mesi di maggio e ottobre, devi specificare 5,10 (oppure) puoi semplicemente utilizzare l'acronimo di 3 lettere del mese e specificare maggio, ottobre.

Il terzo campo è per DOM (Day of the Month). Se specifichi * in questo campo, viene eseguito ogni giorno del mese. Se specifichi 1 in questo mese, viene eseguito il 1° del mese.

L'esempio seguente esegue backup.sh due volte l'anno. cioè il 1 maggio a mezzanotte e il 1 ottobre a mezzanotte.

0 0 1 5,10 * /home/ramesh/backup.sh
(or)
0 0 1 May,Oct * /home/ramesh/backup.sh

Nota: Non commettere l'errore di specificare 5-10 nel 4° campo, che significa dal 5° mese fino al 10° mese. Se vuoi solo il 5° e il 10° mese, dovresti usare la virgola.


Linux
  1. Come eseguire o ripetere un comando Linux ogni X secondi per sempre

  2. Come dire a Cron di eseguire un comando a giorni alterni (pari/dispari)?

  3. Come eseguire un processo cron in giorni specifici della settimana

  4. Esecuzione di Cron ogni 2 ore

  5. come eseguire cron job ogni 3 mesi?

Come eseguire Cron Jobs ogni 5, 10 o 15 minuti

Come eseguire un comando Linux ogni X secondi per sempre

Come pianificare un lavoro in Cron da eseguire ogni ora in Ubuntu 20.04

Come eseguire un lavoro Crontab ogni settimana la domenica

Come posso ottenere un cron job da eseguire ogni 30 minuti?

Come posso programmare un lavoro cron che viene eseguito ogni 10 secondi in Linux?