Press "Enter" to skip to content

Il comando reboot in linux – ubuntu

Il comando reboot permette di riavviare il nostro sistema linux semplicemente eseguendo un comando sulla riga di comando, permette quindi di riavviare sia il nostro pc locale anche in caso non avessimo accesso all’interfaccia grafica che di riavviare un server remoto al quale abbiamo accesso solamente tramite ssh.

Per eseguire un riavvio del sistema tramite il comando reboot dobbiamo essere root, non è quindi possibile eseguire questo comando se abbiamo accesso solamente come utente senza privilegi e non possiamo fare sudo, su – o comandi analoghi. Partendo da questa premessa negli esempi seguenti i comandi dovranno essere eseguiti tutti come root, verrà quindi omesso per brevità il comando sudo da anteporre a tutti i comandi eseguiti.

Qual’è l’effetto del comando reboot?

  1. Scrittura della cache sul disco
  2. Scrittura di un log relativo al riavvio nei file /var/run/utmp e /var/log/wtmp
  3. Terminazione di tutti i processi attivi attraverso l’esecuzione del segnale SIGTERM seguita da un SIGKILL
  4. Riavvio del server/pc

Esempi di uso del comando reboot

La forma più semplice del comando reboot è senza argomenti, possiamo quindi aprire una riga di comando, diventare root e eseguire:

reboot

Il sistema verrà subito riavviato, se invece non siamo root o non abbiamo messo sudo davanti al comando riceveremo un errore e il sistema non si riavvierà.

Reboot tramite il comando shutdown

Quando si lavora su server accessibili a più di una persona (magari un team di lavoro) può essere conveniente avvisare gli utenti connessi dell’imminente riavvio per permettere di finire e salvare il proprio lavoro in tempo. Per fare questo si può usare il comando shutdown, che ha opzioni e argomenti che permettono di ritardare il riavvio e mandare un messaggio forzatamente sulla linea di comando di tutti gli utenti connessi. Abbiamo analizzato in dettaglio il comando shutdown in un articolo dedicato qui. La sintassi in questo caso è la seguente:

shutdown -r ritardo "messaggio"

Dove

  • -r : indica che il sistema deve essere riavviato e non semplicemente terminato.
  • ritardo : il ritardo del riavvio, può esprimere sia in formato assoluto hh:mm per indicare l’orario preciso in cui effettuare il riavvio, che in formato +m per indicare fra quanti minuti dovrà essere eseguito il riavvio. La stringa now è un segnaposto per +0 e indica che il riavvio deve essere eseguito immediatamente
  • messaggio : Un messaggio di avviso da mandare a tutti gli utenti connessi al server.

Riavvio immediato del sistema

Da quanto abbiamo visto quindi i seguenti due esempi sono equivalenti:

shutdown -r now
shutdown -r +0

Entrambi eseguono un riavvio immediato del sistema.

Riavvio posticipato del sistema con avviso

Per riavviare il sistema fra 10 minuti inviando un messaggio di avviso a tutti gli utenti collegati possiamo eseguire il comando:

shutdown -r +10 "Il server verrà riavviato a breve per un aggiornamento software, per favore salvare il lavoro prima possibile"

Vedere il log dei reboot di una macchina linux

Per vedere il log con la lista di tutti i riavvii di una macchina linux (ubuntu, debian, fedora ecc…) possiamo eseguire il comando last reboot.

last reboot
output comando last reboot
Output del comando last reboot

Riavviare un server linux remoto

Per riavviare un server remoto possiamo usare il comando reboot direttamente nel comando ssh. Vediamo alcuni esempi di comandi che ci permettono di farlo senza accedere prima al sistema remoto.

ssh [email protected] /sbin/reboot

ssh [email protected] /sbin/reboot

ssh [email protected] /sbin/shutdown -r now

Come abbiamo visto, specialmente se operiamo su un server condiviso con altra gente, il metodo migliore è utilizzare shutdown con qualche minuto di delay e un messaggio chiaro che avvisi gli utenti in tempo.

Ricordiamoci che, quando faremo reboot di un server remoto sul quale siamo loggati tramite ssh, per effetto del reboot saremo disconnessi dal sistema. Nel caso in cui il sistema appena riavviato abbia qualche problema di startup potrebbe non riuscire a fare start del server ssh e quindi non permetterci di accedere alla macchina remota.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.