Come pianificare crontab per l'esecuzione all'avvio del sistema
I sistemi Linux e Unix sono preinstallati con il cron utility, un programma di pianificazione dei lavori che semplifica la pianificazione dei lavori sul file crontab. La stessa utilità è disponibile per macOS. Di seguito viene fornita la sintassi per la pianificazione dei lavori a determinati intervalli:
Min Ora Giorno del mese Mese Giorno della settimana [ comando ]Ad esempio, è possibile utilizzare il comando seguente se è necessario eseguire uno script di backup ogni 20 minuti dalle 15:00. alle 16:00 quotidiano.
*/ venti quindici - 16 * * * / sentiero / a / backup.sh
Il comando precedente funziona quando è necessario eseguire un lavoro in un determinato momento, ma cosa succede se è necessario eseguire lo stesso comando dopo ogni avvio?
Per impostare lo stesso comando da eseguire al riavvio del sistema, sostituire i campi di data e ora con @reboot. Il nuovo comando sarebbe:
@ riavviare / sentiero / a / backup.shNel comando precedente, il @riavviare specifica che cron dovrebbe eseguire il comando specificato dopo ogni avvio. Ancora una volta, dobbiamo aggiungere il comando al file crontab.
Usa il comando seguente per aprire il file crontab e modificarlo per aggiungere il nostro nuovo lavoro.
crontab -eSi noti che stiamo creando il lavoro per l'utente corrente. Se è necessario pianificare l'attività per un utente diverso, ad esempio, un utente denominato linuxhint1 , il seguente comando sarebbe:
crontab -e -in linuxhint1Una volta aperto il file crontab, aggiungi il comando nella riga inferiore. Salva il file ed esci.
Inoltre, si noti che stiamo usando a nano editor, il tuo editor potrebbe essere diverso, ma il comando è lo stesso.
Se il lavoro è stato pianificato correttamente, dovresti ricevere un messaggio come quello mostrato nell'immagine seguente per indicare una corretta installazione del nuovo crontab:
Tuttavia, puoi utilizzare il comando seguente per elencare i lavori pianificati.
crontab -lSe non desideri più eseguire il comando all'avvio, puoi rimuoverlo modificando il file crontab o utilizzando il comando fornito di seguito. Si noti che il comando seguente elimina tutti i lavori pianificati. Se non è ciò che desideri ottenere, scorri verso il basso sul crontab ed elimina manualmente il lavoro utilizzando un editor.
crontab -r
@reboot esegue un comando immediatamente dopo l'avvio. Tuttavia, puoi specificare un periodo di sospensione prima dell'esecuzione del comando. Ad esempio, se è necessario eseguire il comando 10 minuti dopo l'avvio, è necessario impostare il tempo in secondi.
Il comando sarebbe.
@ riavviare dormire 600 / sentiero / a / backup.sh600 rappresenta i 10 minuti espressi in secondi, e dormire è l'opzione da utilizzare quando si specifica il tempo prima dell'esecuzione.
Il nostro nuovo file crontab verrebbe impostato, come mostrato di seguito:
Al successivo riavvio del server, lo script di backup o il comando set verranno eseguiti dopo 10 minuti.
Infine, possiamo verificare che il lavoro pianificato verrà eseguito controllando lo stato per servizio clienti . Dovrebbe essere attivo . Utilizzare il comando seguente per verificarne lo stato:
sudo stato systemctl cron.serviceSei a posto se ottieni un output come il seguente output:
Se lo stato di crond non è attivo, puoi abilitarlo utilizzando il seguente comando, quindi verifica lo stato:
sudo systemctl abilitare servizio.cron
Questo è tutto. Il tuo comando verrà eseguito all'avvio.
Conclusione
Sapere come pianificare i lavori all'avvio è essenziale per gli amministratori Linux. Fortunatamente, questa guida ha coperto una guida pratica completa su come farlo usando l'utilità cron di Linux. Inoltre, abbiamo discusso di come impostare un tempo di sospensione prima dell'esecuzione del comando.