Programar el apagado del ordenador 23

Programar el apagado de un ordenadorAntes de irme a dormir existen ocasiones en las que me pongo en la cama escuchando un podcast o la radio a través del ordenador. Al rato de estar escuchando la radio o el podcast acaba pasando una de estas dos cosas:

  1. Me quedo dormido y el ordenador queda abierto toda la noche. Obviamente no me gusta quedarme dormido con el ordenador y la radio encendida.
  2. Una vez estoy ya medio dormido tengo que levantarme para apagar el ordenador. Obviamente esto molesta ya que después hay que volver a coger el sueño.

Para solucionar este pequeño problema tenemos varias soluciones. Una de ellas es programar el apagado del ordenador. Algunos de los métodos que podemos usar para programar el apagado del ordenador son las siguientes:

MÉTODO 1: PROGRAMAR EL APAGADO DEL ORDENADOR MANUALMENTE DESDE LA TERMINAL

Es el método que acostumbro a usar. Mediante el uso de la terminal podemos programar el apagado del ordenador muy fácilmente. Algunos ejemplos de como podemos programar el apagado del ordenador son los siguientes:

Apagar el ordenador después de un tiempo determinado

Abrimos una terminal. Una vez abierta la terminal ejecutamos el siguiente comando:

sudo shutdown -h +30

El significado de cada uno los términos del comando son los siguientes:

sudo: Porque el programa shutdown precisa permisos de superusuario para ejecutarse.

shutdown: Es el programa que permite programar el apagado del ordenador.

-h: Indica la acción a realizar una vez pasado un tiempo determinado. En este caso la acción es la acción halt (-h). Por lo tanto una vez pasado el tiempo que queramos el ordenador se apagará.

+30: Indicamos el tiempo en minutos que queremos que tarde en apagarse el ordenador.

Tal y como se observa en la captura de pantalla, justo después de ejecutarse el comando empezará la cuenta atrás para apagar el ordenador.

Apagado del ordenador en 30 minutos

Una vez transcurridos los 30 minutos nuestro ordenador se apagará de forma irremediable consiguiendo así nuestro objetivo.

Si durante el proceso de cuenta atrás queremos abortar el proceso tan solo tenemos que presionar la combinación de teclas Ctrl+C con la terminal activa.

Apagar el ordenador a una hora determinada

En el apartado anterior hemos visto como apagar el ordenador después de un tiempo determinado que puede ser una hora, dos horas, etc. Si lo que queremos es apagar el ordenador a una hora en concreto lo podemos hacer ejecutando este comando en la terminal:

sudo shutdown -h 23:50

El significado de cada uno los términos del comando son los siguientes:

sudo: Porque el programa shutdown precisa permisos de superusuario para ejecutarse.

shutdown: Es el programa que permite programar el apagado del ordenador.

-h: Indica la acción a realizar una vez pasado un tiempo determinado. En este caso la acción es la acción halt (-h). Por lo tanto una vez pasado el tiempo que queramos el ordenador se apagará.

23:50: Indicamos la hora en la que queremos que se apague el ordenador. En mi caso he indicado que sean las 23 horas y 50 minutos.

Después de ejecutar el comando, tal y como se puede ver en la captura de pantalla, se iniciará la cuenta atrás para apagarse el ordenador:

Programar el apagado del ordenador a una hora

Si durante el proceso de cuenta atrás queremos abortar el proceso tan solo tenemos que presionar la combinación de teclas Ctrl+C con la terminal activa

MÉTODO 2: PROGRAMAR EL APAGADO DEL ORDENADOR MEDIANTE UN SCRIPT

Con un simple Script también podemos programar el apagado automático del ordenador. Para crear el script abrimos la terminal. Justo al abrir la terminal creamos el archivo apagar.sh ejecutando el siguiente comando en la terminal:

touch apagar.sh

Una vez creado el archivo lo abriremos ejecutando el siguiente comando en la terminal:

nano apagar.sh

Una vez abierto el editor de texto nano pegaremos el siguiente código:

#!/bin/bash
clear
echo " *** SCRIPT PARA EL APAGADO DEL EQUIPO *** "
echo " SELECCIONA UNA OPCIÓN:"
echo " 1.-Apagar equipo ahora"
echo " 2.-Reiniciar equipo ahora"
echo " 3.-Asignar hora de apagado del equipo"
echo " 4.-Apagar equipo a los xx minutos"
echo " 5.-Salir"
echo ""
read -p "OPCIÓN: " OPCION
case $OPCION in
1) sudo halt;;
2) sudo reboot;;
3) echo -n " ¿ A qué hora ?: "
read hora
sudo shutdown -h $hora;;
4)echo -n " ¿ En cuántos minutos se apagará el equipo?: "
read minutos
sudo shutdown -h $minutos;;
5) exit;;
*) echo " OPCIÓN NO VÁLIDA "
exit 1;;
esac
exit 0
Fuente del script

Una vez copiado el texto guardamos los cambios y cerramos el fichero. El siguiente paso será otorgar los permisos necesarios para que se pueda ejecutar el script. Para ello ejecutamos el siguiente comando en la terminal:

sudo chmod +x apagar.sh

Una vez ejecutado el comando ya podemos usar el script. Para ello ejecutamos el siguiente comando en la terminal:

sh ./apagar.sh

Justo después de ejecutar el script, tal y como se puede ver en la captura de pantalla, podremos programar la hora en que queremos que se apague nuestro ordenador.

programar el apagado mediante un script

Si queremos evitar tener que abrir la terminal cada vez que queramos ejecutar el script podemos crear un lanzador en el escritorio. Para ello ejecutamos el siguiente comando en la terminal:

touch /home/joan/Escritorio/Apagar

Después de ejecutar el comando se creará un archivo con nombre Apagar en nuestro escritorio. Para que este archivo se convierta en un lanzador de escritorio tenemos que editar su contenido. Para editar su contenido tenemos que teclear el siguiente comando en la terminal:

nano /home/joan/Escritorio/Apagar

Una vez se abra el editor de textos nano pegaremos el siguiente texto:

[Desktop Entry]
Name=Apagar
Name[de_DE]=Apagar
Exec=/home/joan/apagar.sh
Terminal=true
Type=Application
Icon=home/joan/Imágenes/red_glasses
Nota: Las partes del texto a pegar que están en rojo las tendréis que modificar en función los siguientes aspectos. En la variable Exec hay que poner la ruta del script que hemos creado. En la variable Icon hay que poner la ruta del icono que queremos que tenga nuestro lanzador.

Una vez pegado el contenido en el archivo Apagar guardamos los cambios y cerramos el fichero. A partir de estos momentos, cada vez que cliquemos encima del nuevo icono que tenemos en el escritorio se ejecutará el script para programar el apagado de nuestro ordenador.

Nota: Existen formas alternativas para ejecutar el script sin tener que abrir una terminal. En vez de crear un lanzador de escritorio podríamos haber creado un enlace duro o introducir el script dentro de los menús de la distribución que usamos.

MÉTODO 3: PROGRAMAR EL APAGADO DEL ORDENADOR USANDO UN PROGRAMA

Las personas a las que no les guste la terminal, programar scripts o simplemente prefieren no complicarse la vida, pueden optar por instalar un programa con interfaz gráfica para programar el apagado del ordenador.

Existen varios programas disponibles, pero en mi caso detallaré como usar qshutdown por los siguientes motivos:

  1. Es muy sencillo de usar.
  2. Funciona a la perfección.
  3. Está presente en los repositorios de la gran mayoría de distros Linux.

Para instalar qshutdown abriremos una terminal y ejecutaremos el siguiente comando:

sudo apt-get install qshutdown

Una vez instalado el programa ya lo podemos abrir sin ningún tipo de problema. Una vez abierto el programa verán una interfaz gráfica parecida a la siguiente:

Programar el apagado con qshutdown

Tal y como se puede en la captura de pantalla, tan solo hay que detallar el día y la hora en que queremos apagar el ordenador. Una vez seleccionadas las opciones que queramos tan solo tenemos que presionar el botón Aceptar y empezará la cuenta atrás para apagar el ordenador.

MÉTODO 4: PROGRAMAR EL APAGADO DEL ORDENADOR DE FORMA AUTOMÁTICA MEDIANTE CRON

Finalmente existe una ultima opción para programar el apagado del ordenador. Esta opción es utilizando cron. Posiblemente sea la opción que presente más opciones de configuración, pero con toda seguridad es la opción menos amigable de configurar.

Para programar el apagado de nuestro equipo con cron tenemos que ejecutar el siguiente comando en la terminal:

sudo crontrab -e

Una vez abierto el editor de texto tenemos que editar el contenido del fichero crontab para programar el apagado del ordenador. La estructura a usar para programar el apagado del ordenador es la siguiente:

m h dom mon dow /sbin/shutdown -h now

Cada una de las partes en color rojo de este comando las tendréis que reemplazar por los siguientes términos:

m: Reemplazar m por un número entre el 0 y el 59. Este número indica el minuto en el que queremos que se apague nuestro ordenador.

h: Reemplazar h por un número entre el 0 y el 23. Este número indica la hora en la que queremos que se apague nuestro ordenador.

dom: Reemplazar dom por un número entre el 1 y el 31. Este número indica el día del mes en el que queremos que se apague nuestro ordenador. Si queremos que nuestro ordenador se apague todos los días del mes hay que reemplazar m por un *

mon: Reemplazar mon por un número entre el 1 y el 12. Este número indica el número de mes en el que queremos que se apague nuestro ordenador. Si queremos que nuestro ordenador se apague todos los meses hay que reemplazar mon por un *

dow: Reemplazar dow por un número entre el 0 y el 6. Este número indica el día de la semana en el que queremos que se apague nuestro ordenador. Si escribimos un cero se apagará el domingo y si un 6 se apagará el sábado. Si queremos que nuestro ordenador se apague todos los días deberemos reemplazar dow por un *.

/sbin/shutdown -h now: Esta parte del comando no hay que reemplazarla. Esta parte del comando es la que hace que el ordenador se apague una vez transcurrido el tiempo fijado en los parámetros anteriores.

Algunos ejemplos de comandos a introducir en el archivo crontab para programar el apagado de nuestro ordenador son los siguientes:

Apagar el ordenador todos los días a las 23 horas y 30 minutos

Si queremos programar el apagado del ordenador todos los días a las 23:30 horas, tal y como se puede ver en la captura de pantalla, tenemos que introducir el siguiente comando dentro del archivo contrab:

30 23 * * * /sbin/shutdown -h now

Programar apagado con Cron

Una vez introducido el comando guardamos los cambios y cerramos el fichero.

Para que los cambios surjan efecto tenemos que reiniciar el servicio cron. Para ello ejecutamos el siguiente comando en la terminal:

sudo service cron restart

Una vez reiniciado el servicio el proceso ha finalizado.

Apagar el ordenador a las 23 horas y 30 minutos todos los domingos

Si queremos que nuestro ordenador se apague a las 23:30 horas pero únicamente los domingos, tenemos que introducir el siguiente comando dentro del archivo contrab:

30 23 * * 0 /sbin/shutdown -h now

Una vez introducido el comando guardamos los cambios y cerramos el fichero.

Para que los cambios surjan efecto tenemos que reiniciar el servicio cron. Para ello ejecutamos el siguiente comando en la terminal:

sudo service cron restart

Una vez reiniciado el servicio el proceso ha finalizado.

Apagar el ordenador a las 23 horas y 30 minutos al 15 de Junio

Si queremos que nuestro ordenador se apague a las 23:30 horas del día 15 de Junio, tenemos que introducir el siguiente comando dentro del archivo contrab:

30 23 15 6 * /sbin/shutdown -h now

Una vez introducido el comando guardamos los cambios y cerramos el fichero.

Para que los cambios surjan efecto tenemos que reiniciar el servicio cron. Para ello ejecutamos el siguiente comando en la terminal:

sudo service cron restart

Una vez reiniciado el servicio el proceso ha finalizado.

Apagar el ordenador a las 23 horas y 30 minutos el 15 de Junio si es martes

Si queremos que nuestro ordenador se apague los martes que sean 15 de Junio a las 23:30 horas, tenemos que introducir el siguiente comando dentro del archivo contrab:

30 23 15 6 2 /sbin/shutdown -h now

Una vez introducido el comando guardamos los cambios y cerramos el fichero.

Para que los cambios surjan efecto tenemos que reiniciar el servicio cron. Para ello ejecutamos el siguiente comando en la terminal:

sudo service cron restart

Una vez reiniciado el servicio el proceso ha finalizado.

COMPARTIR !Share on FacebookTweet about this on TwitterShare on Google+Share on LinkedInShare on RedditEmail this to someone

Post Relacionados

23 Comentarios en “Programar el apagado del ordenador

  1. Reply Mikel Garin Sep 13,2015 15:51

    Muy bueno el post! Yo uso cron, le pongo que se apague a las 23:50 y a dormir!

  2. Reply luis martinez Sep 14,2015 13:41

    Gracias por explicar tan detalladamente. Acabo de empezar en GNU-LINUX y es de gran ayuda.

    • Reply Joan Carles Sep 15,2015 0:10

      Gracias por tus palabras y espero que disfrutes usando GNU-Linux. Aparte de mi blog seguro que encontrarás muchos más que también serán de tu agrado.

  3. Reply felipe Sep 14,2015 23:36

    Gracias por el aporte. Claro y conciso el artículo.

  4. Reply Jairo Sep 15,2015 21:51

    No sabía que esto era posible :D

    Me voy por los primeros dos métodos para cuando los necesite. Generalmente no me gusta dejar el ordenador encendido si no estoy al frente de él.

  5. Reply Liher Oct 3,2015 11:37

    Hola, me ha gustado mucho el articulo, como todos los que te he leído, muy completo y muy bueno, un saludo amigo

    • Reply Joan Carles Oct 3,2015 11:49

      Muy buenas Liher

      Gracias por el comentario. Lo mismo puedo decir de los artículos que escribes en tu blog.

      Saludos y buen fin de semana.

  6. Reply Ferran Nov 23,2015 12:11

    Hola,

    muy buen artículo y muy completo. Me gustaría saber si se puede programar el apagado del ordenador por inactividad. es decir, que se apague después de x minutos sin utilizar.

    Muchas gracias.

    • Reply Joan Carles Nov 25,2015 21:59

      Hola Ferran

      Lo que comentas si que se puede realizar. Tan solo tienes que ir al administrador de energía de tu entorno de escritorio o de Windows…. y allá podrás programar que tu ordenador se suspenda o hiberne tras un determinado tiempo de inactividad.

      Saludos y gracias por comentar

      • Reply Ferran Dic 1,2015 12:40

        Hola,

        la opción que comentas ya la conocía, pero yo me refería concretamente a apagar el sistema GNU/Linux mediante script cuando pasa un cierto tiempo de inactividad, no suspender ni hibernar.

        Muchas gracias por tu respuesta,

        Ferran.

        • Reply Joan Carles Dic 1,2015 21:53

          Hola de nuevo Ferran

          No se responder a tu pregunta. Dudo que sea fácil encontrar un script que haga lo que pides, pero como comenté lo puedes hacer usando las herramientas que te proporciona tu entorno de escritorio.

          Saludos

          • Reply Ferran Dic 10,2015 8:46

            Hola de nuevo Joan Carles,

            Conozco las posibilidades que ofrece las herramientas del escritorio, y en efecto permite hibernar o suspender el sistema, pero no apagarlo como haría shutdown.

            Saludos.

  7. Reply Mullins Dic 4,2015 19:22

    Precisamente buscaba esto para poder programar un apagón a unos servers. Tenía que llegar a las 6am así que con esto a seguir durmiendo. Excelente! muchas gracias Saludos!

  8. Reply jose manuel Feb 22,2016 11:38

    muy buenas,

    yo el script lo he creado en /home/jose y el ejecutable en /home/jose/Escritorio/Apagar tal y como dice la guia, he comentado la línea de la imagen a mostrar para el script pero a la hora de ejecutarlo se me abre como documento de texto, ¿a qué se debe?

    Alguien me podría decir que debería hacer para que con doble click me arrancase dicho script, sin embargo por consola con sh ./apagar.sh (dentro de donde tengo el script creado) me funciona a la perfección, muchísimas gracias de antemano.

    • Reply Joan Carles Feb 22,2016 23:41

      Muy buenas,

      La solución a tu problema es leer. Si sigues las instrucciones paso por paso ejecutarás el script con doble click y sin ningún problema.

      Saludos

  9. Reply Celina Alvarez Abr 5,2016 18:34

    hola soy Celina tengo una dell y nuca se apaga porque mi equipo trabaja dia y noche, mi problema es que cuando la quiero apagar o resetear se queda trabada y no se apaga hasta que no dejo el dejo en el botón de encendido,

  10. Reply Cancerbero Ago 8,2016 22:03

    Hola Joan Carles no se si aun pueda preguntar esto, pero use el cron y no pasa nada no ejecuta.

    Para probar que funciona lo pongo a unos minutos de la hora… ¿será acaso que debo esperar horas para que funcione? gracias

    • Reply Joan Carles Ago 8,2016 22:31

      Hola

      La primera pregunta seria si tienes el servicio o demonio cron activado. Si no lo tienes activado entonces lo deberías activar. Para saberlo ejecuta el siguiente comando en la terminal:

      systemctl status cron

      En el caso que esté desactivado lo puedes activar con los siguientes comandos:

      systemctl start cron
      systemctl enable cron

      Cron actuará cuando tu le digas que funcione. Si lo programas en horas entonces será en horas y si quieres que actúe en minutos entonces será en minutos.

      Saludos

  11. Reply Manuel Oct 25,2016 9:31

    Buenos días Joan Carles,

    Necesito reiniciar la maquina Linux todos los días a las 16:00h y las 04:00h, o sea cada 12 horas, para unas pruebas de mantenimiento.

    Para ello, he intentado hacerlo editando a través de:

    nano /etc/rc.local

    dicho archivo, agregando lo siguientes comandos:

    shutdown -r 04:00
    shutdown -r 16:00
    exit 0

    Pero solo se me reinicia a las 16:00h.

    ¿Sabes como hacerlo correctamente en rc.local?

    Gracias.

    • Reply Joan Carles Oct 25,2016 21:27

      Hola Manuel

      Normal que solo lo haga a las 16:00 porque es lo último que le dices y sobreescribe la orden de las 04:00

      Para hacer lo que quieres hacer usa Cron.

      Saludos

  12. Reply dave Ene 6,2017 2:00

    Increíble el tutorial, gracias por todo.

Deja un Comentario