Esegui un comando di root ogni 24 ore dopo l'avvio


1

Voglio eseguire un comando come root su una macchina Ubuntu 11.04 ogni 24 ore. Questa macchina non è accesa tutto il tempo, ma quando lo è, può essere lasciata accesa per giorni alla volta. Come dovrei configurare correttamente il mio crontab per eseguire questo comando all'intervallo desiderato, e c'è qualcosa di speciale nell'eseguire un cron job come root che dovrei sapere? Sono l'unica persona che usa questa macchina.


1
Si noti che il titolo sembra chiedere come è possibile eseguire un comando 24 ore dopo ogni avvio, mentre la tua domanda chiede di farlo ogni 24 ore, senza riguardo a quando il sistema è stato avviato.
Daniel Andersson

Risposte:


5

Puoi semplicemente aggiungere il tuo script per essere eseguito nella directory /etc/cron.daily - sarà eseguito una volta al giorno da anacron.

Estratto da man 8 anacron:

Anacron può essere utilizzato per eseguire comandi periodicamente, con una frequenza specificata in giorni. Diversamente da cron (8), non presuppone che la macchina funzioni continuamente. Quindi, può essere utilizzato su macchine che non funzionano 24 ore al giorno, per controllare i lavori giornalieri, settimanali e mensili che sono solitamente controllati da cron.


Ci scusiamo per aver impiegato così tanto tempo per tornare a questo. Sta funzionando alla grande.
Matthew G

0

Per modificare crontab di root, esegui:

sudo crontab -e

Inserisci una riga con, per es .:

0 0 * * * /usr/sbin/ntpdate-debian -s

Questo eseguirà il comando specificato ntpdate con interruttore -s una volta ogni colpo di mezzanotte (vedi info 'crontab(5)' per una documentazione del formato, o probabilmente solo le prime righe commentate del crontab stesso).

Alcuni piccoli puntatori:

  • Nota che i comandi in crontab normalmente vengono eseguiti tramite /bin/sh, che su sistema basato su Debian non è Bash, ma Dash. Stai attento a non usare bashismi nei comandi. Nella mia esperienza non è raro vedere reindirizzamenti errati e ipotesi errate riguardo a quali caratteri devono essere sfuggiti.
  • Spesso è una buona idea dare percorsi completi ai binari dal PATH la variabile potrebbe differire tra root e il tuo utente normale. Ho visto situazioni in cui un comando ne ha ombreggiato un altro a causa di differenze PATH variabili, che è una complicazione inutile.

    Può anche essere visto come un po 'un rischio per la sicurezza semplicemente per eseguire il programma che è il primo nella ricerca del percorso, poiché la configurazione sciatta potrebbe aprirlo affinché qualcuno sostituisca un binario (se uno ha quel tipo di diritti sul sistema, uno può probabilmente farlo comunque in una certa misura, ma comunque).

Cron eseguirà il comando ogni 24 ore, a condizione che la macchina sia in esecuzione al momento. Se vuoi rendere la macchina "recuperabile" se è stata disattivata a un'esecuzione pianificata, dovresti dare un'occhiata anacron quello ha questo scopo esatto.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.