¿Cómo configuro Ubuntu para reiniciar todos los días en un momento dado?

11

Usando la terminal o un archivo bash, ¿cómo puedo configurar Ubuntu para reiniciar todos los días a las 3 AM (por ejemplo)?

En otras palabras, quiero programar un reinicio automático a través del terminal.

No he podido encontrar nada relacionado con esto en Google o AskUbuntu, y soy bastante nuevo en Ubuntu en general (acabo de recibir mi nueva Raspberry Pi).

Mathias Lykkegaard Lorenzen
fuente

Respuestas:

13

Edite las entradas de crontab con el crontab -ecomando (de forma predeterminada, esto editará el crontab de los usuarios registrados actualmente) y agregue la siguiente línea:

0 3 * * * echo $PASSWD | sudo -S reboot
#change $PASSWD with your password

Guarde el archivo y verifique la nueva entrada crontab con crontab -l.

Si solo quieres usar:

0 3 * * * sudo reboot

como crontab, esto no funciona normalmente y debes revisar esta publicación para ver cómo puedes hacer que funcione.

O simplemente agregue el crontab al archivo crontab del usuario raíz que ofrece la ruta completa para el rebootcomando usando sudo crontab -e:

0 3 * * * /sbin/reboot
Radu Rădeanu
fuente
¿No podría poner esto en el crontab de root y no tener que preocuparse demasiado por elecho $PASSWD
Dan
No sabia esto. ¿Es esto un error de cron o es normal? Quiero decir, si editas el crontab como root, ¿entonces el trabajo se ejecutará solo si estás conectado como root? Creo que esto está mal. (o debería ser).
NickTux
@ RaduRădeanu Eso no es cierto. Los cronjobs raíz se ejecutarán sin haber iniciado sesión como root.
OrangeTux
@OrangeTux Tienes razón, lo siento, lo dije porque probé sin dar la ruta completa para el rebootcomando. De lo contrario no funcionará. Ver mis nuevas ediciones.
Radu Rădeanu
@NikTh Me equivoqué, mira el comentario anterior .
Radu Rădeanu
1

Tenga en cuenta que poner su contraseña de texto sin cifrar en un archivo de texto no es una buena idea, por lo que es mejor que este trabajo se ejecute como root desde el principio. Por lo general, en lugar de editar el crontab de root mediante el crontabcomando, que deja las entradas en /var/spool/cron/crontabsuna ubicación algo críptica, prefiero ingresarlas explícitamente /etc/cron.d. Las entradas en cron.d se ejecutan como entradas crontab del sistema, se tratan como archivos de configuración para que puedan sobrevivir a los reinicios, actualizaciones y mejoras del sistema, y ​​puede especificar explícitamente el usuario en ejecución:

echo "0 3 * * * root /sbin/shutdown -h 5 'System will reboot in 5 minutes'" | sudo tee /etc/cron.d/reboot-at-3-am

Si no necesita una hora específica, sino que solo desea que el sistema se reinicie una vez al día, agregue un archivo ejecutable o un script /etc/cron.dailyy se ejecutará automáticamente a una hora predeterminada (hora del sistema 6:25 a.m. por defecto):

echo "/sbin/shutdown -h 5 'System will reboot in 5 minutes'" | sudo tee /etc/cron.daily/reboot-me

Tenga en cuenta que, en lugar de reiniciar el sistema sin advertencia, configuro una advertencia de 5 minutos, por lo que si alguien está conectado, tiene la oportunidad de guardar su trabajo, o incluso interrumpir el apagado sudo shutdown -c, en lugar de hacer que el sistema se desconecte fuera de debajo de ellos. Puede ajustarlos en consecuencia, si desea dar una advertencia más amplia (por ejemplo, use shutdown -h 60y ejecute el comando a las 2:00 a.m. y les dará a los usuarios una generosa advertencia de 1 hora).

Esto se basa en mi experiencia pasada; en algún momento iniciarás sesión trabajando cuando se ejecute la entrada crontab, y si solo se reinicia sin previo aviso, serás un panda muy triste.

roadmr
fuente
-1

¿Por qué quieres o necesitas hacer esto? Si bien es bastante simple de hacer, es casi seguro que haya una mejor solución con Linux que no implique un reinicio. A diferencia de Windows, los sistemas operativos basados ​​en Linux no requieren reinicios para casi nada excepto las actualizaciones del kernel.

Si explica lo que está tratando de lograr, probablemente podamos ayudarlo mejor.

Jack Knight
fuente
3
Quiere reiniciar la computadora todas las noches para que se reinicie
Michael Butler