Come programmare Crrontab da eseguire al momento dell'avvio del sistema
I sistemi Linux e Unix vengono preinstallati con il Cron Utilità, uno scheduler di lavoro che semplifica la pianificazione dei lavori sul file Crrontab. La stessa utilità è disponibile per MacOS. Di seguito è riportata la sintassi per la pianificazione dei lavori a intervalli determinati:
Min Hour Day of-mese Month Day of Week [Comando]
Ad esempio, è possibile utilizzare il seguente comando se è necessario eseguire uno script di backup ogni 20 minuti dalle 3:00 P.M. a 4:00 p.M. quotidiano.
*/20 15-16 * * */path/to/backup.sh
Il comando precedente funziona quando è necessario eseguire un lavoro in un determinato momento, ma cosa succede se hai bisogno dello stesso comando da eseguire dopo ogni avvio?
Per impostare lo stesso comando da eseguire quando il sistema si riavvia, sostituire i campi di data e ora con @reboot. Il nuovo comando sarebbe:
@Reboot/Path/To/Backup.sh
Nel 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.
Utilizzare il seguente comando per aprire il file CRTATB e modificarlo per aggiungere il nostro nuovo lavoro.
crontab -e
Si noti che stiamo creando il lavoro per l'utente attuale. Se è necessario programmare l'attività per un utente diverso, ad esempio un utente denominato Linuxhint1, Il seguente comando sarebbe:
Crrontab -e -u LinuxHint1
Una volta che il file crontab si aprirà, aggiungi il comando in fondo alla riga. Salva il file ed esci.
Inoltre, nota che stiamo usando un nano editore, il tuo editor potrebbe essere diverso, ma il comando è lo stesso.
Se il lavoro è programmato correttamente, è necessario ricevere un messaggio come quello mostrato nella seguente immagine per indicare un'installazione riuscita del nuovo crontab:
Tuttavia, è possibile utilizzare il seguente comando per elencare i lavori programmati.
Crrontab -l
Se non si desidera più eseguire il comando al momento dell'avvio, è possibile rimuoverlo modificando il file crontab o utilizzando il comando fornito di seguito. Si noti che il seguente comando elimina tutti i lavori programmati. Se non è quello che desideri ottenere, scorrere verso il basso sul crontab ed eliminare manualmente il lavoro usando un editor.
Crrontab -r
@Reboot esegue un comando immediatamente dopo l'ora di avvio. Tuttavia, è possibile specificare un periodo di sonno prima che il comando esegua. Ad esempio, se è necessario eseguire 10 minuti dopo l'avvio, è necessario impostare l'ora in secondi.
Il comando sarebbe.
@Reboot Sleep 600/Path/to/Backup.sh
600 rappresenta i 10 minuti espressi in secondi e sonno è l'opzione da utilizzare quando si specifica il tempo prima dell'esecuzione.
Il nostro nuovo file Crrontab verrebbe impostato, come mostrato di seguito:
La prossima volta che riavvia il tuo server, lo script di backup o il comando set verranno eseguiti dopo 10 minuti.
Infine, possiamo verificare che il lavoro programmato sarà eseguito controllando lo stato per Servizio Crond. Dovrebbe essere attivo. Utilizzare il seguente comando per verificarne lo stato:
Sudo Systemctl Status Cron.servizio
Sei a posto se ottieni un output come il seguente output:
Se lo stato di Crond non è attivo, è possibile abilitarlo utilizzando il comando seguente, quindi controllare lo stato:
sudo systemctl abilita cron.servizio
Questo è tutto. Il tuo comando eseguirà al momento dell'avvio.
Conclusione
Sapere come programmare i lavori al momento dell'avvio è essenziale per gli amministratori di Linux. Fortunatamente, questa guida ha coperto una guida pratica completa su come procedere usando l'utilità Linux Cron. Inoltre, abbiamo discusso di come si potrebbe impostare un tempo di sonno prima che il comando esegua.