Encender ordenador a una hora programada

crontabAyer recogí mi nuevo y flamante servidor. Le instalé el sistema operativo y todos los servicios necesarios.

Como es un servidor que va a hacer una tarea a unas horas determinadas, no es necesario que esté encendido las 24 horas del día, así que modifiqué el cron para que se apagara a la hora señalada, pero… ¿como lo enciendo?

A pesar de tener la tecnología iLO y poder encenderlo y apagarlo remotamente sin necesidad de acceder al SO era necesario automatizar el arranque a una hora determinada y esta opción no estaba presente como en muchas de las placas base de los ordenadores de sobremesa.

Por suerte aunque no esté esa opción en la BIOS, la mayoría de las placas base construidas a partir del año 2000 soportan el arranque a una hora determinada y como no, podemos usar los actuales sistemas operativos para acceder a esas opciones.

En linux podemos modificar el fichero /sys/class/rtc/rtc0/wakealarm que almacena la fecha en la cual queremos que se “despierte” nuestro sistema. Para ello, primero la ponemos a cero con:

sudo sh -c “echo 0 > /sys/class/rtc/rtc0/wakealarm”

y después, especificamos la fecha exacta a la que queremos que se encienda. En el ejemplo siguiente, voy a encenderlo 5 minutos a partir de la fecha actual, lo que nos dará tiempo a apagar el sistema y esperar unos minutos para que se encienda de nuevo:

sudo sh -c “echo `date ‘+%s’ -d ‘+ 5 minutes’` > /sys/class/rtc/rtc0/wakealarm”

(en formato unix time)

Ahora, si queremos encenderlo todos los días a una hora determinada, sólo debemos jugar con el comando date. Por ejemplo, si quisiéramos encenderlo el próximo viernes a las 0:00:00 debemos ejecutar el siguiente comando:

sudo sh -c “echo `date ‘+%s’ -d ‘next friday’` > /sys/class/rtc/rtc0/wakealarm”

Por último recordad que tenéis que tener en cuenta la zona horaria y el horario de verano.

, , ,

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *