Come riavvio in un momento specifico?


18

È possibile riavviare il mio Raspberry Pi a mezzanotte ogni notte? So che in Linux useresti crontab, ma non riesco a trovarlo /etc/crontab.


In realtà, devi prima creare la directory / var / spool. Non ho idea del perché. Provamkdir /var/spool
Elliot A.

Risposte:


28

Per modificare il crontab di root:

sudo -i
crontab -e

inserisci le voci che desideri; c'è un comodo modello caricato da crontab che mostra quali campi sono cosa. Una volta terminato e salvato dall'editor crontab:

exit

per tornare alla shell dell'utente.

Per riavviare la macchina a mezzanotte e alle 8, è necessario il collegamento:

0 0,8 * * * reboot

anche se davvero, Linux non ha bisogno di essere riavviato molto, se non del tutto.


7
Perché hai generato una shell separata per superutente da eseguire crontab? Perché no sudo crontab -e?
Alex Chamberlain,

2
@AlexChamberlain - Sì, è meglio non incoraggiare le persone ad avviare una shell di root a meno che non sia assolutamente necessario, ma almeno scruss suggerito exitquando hai finito.
Mark Booth,

@MarkBooth Completamente d'accordo. L'IMHO sudodovrebbe rifiutarsi di correre su. Ovviamente ci saranno un milione di modi per aggirarlo (incluso -i), ma almeno dovrai fare di più per eseguire una rootshell.
Alex Chamberlain,

Ho generato una nuova shell di root perché sudo non ti dà tutti i privilegi e l'ambiente di root. Volevo assicurarmi che l'utente stesse davvero modificando il crontab di root. Cron è abbastanza complicato con le sue impostazioni SHELL e PATH, quindi volevo che qualcosa in meno potesse andare storto.
scruss

1
No, il nuovo crontab viene installato non appena si esce dall'editor. Per controllare, fallo crontab -l. Ma davvero, sono ancora confuso sul motivo per cui è necessario riavviare così frequentemente. Linux non ne ha bisogno e, a meno che tu non stia testando nuovi kernel, puoi mantenere il sistema attivo. Il mio server di casa è in funzione da 415 giorni, felicemente si è unito senza problemi.
scruss,

5

Hai provato ad aggiungere una voce con

 crontab -e

Sembra che tu non abbia voci crontab e quindi il file non viene creato.


2

Spero che possa aiutare.

sudo nano /etc/crontab -e

Nel file, aggiungi una riga

0 0 * * * root reboot

Non ci ho provato ma spero che questo aiuti.


Grazie per la risposta. Questo riavvierà il sistema a mezzanotte? Come lo imposterò per un'altra volta? Quindi, si riavvia a mezzanotte, quindi di nuovo alle 8? Grazie :)!
Phorce,

2
Non modificare direttamente / etc / crontab; usa i comandi crontab. È più sicuro.
scruss

sudo crontab -e
John La Rooy,

sudo nano /etc/crontab -e: Il -enon ha senso, secondo la manpage di nano è "Ignorato, per compatibilità con Pico".
macrojames

Sì, grazie per averlo chiarito. Ho appena iniziato con Linux e ancora in fase di apprendimento. Inoltre dagli altri post che ho visto qui, sembra che sia una cattiva idea modificare direttamente il crontab.
SteveIrwin,

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.