¡Esta es una revisión vieja del documento!
Tabla de Contenidos
rtcwake
Permite apagar el sistema y establecer un horario en el que despertarlo.
Forma parte del paquete util-linux
RTC viene de Real-Time Clock, y hace referencia al reloj del ordenador que está incluido en un chip y mantiene la hora actual.
Requisitos
Para poder usar este programa es necesario que el hardware soporte el encendido por RTC (wake up alarm, lo llaman en algunos sitios). Una forma de verificarlo, es desde el equipo Linux que queremos usarlo, buscar en los mensajes del sistema:
# dmesg | grep -i rtc [mié sep 7 18:22:09 2022] PM: RTC time: 16:22:09, date: 2022-09-07 [mié sep 7 18:22:09 2022] rtc_cmos 00:01: RTC can wake from S4 [mié sep 7 18:22:09 2022] rtc_cmos 00:01: registered as rtc0 [mié sep 7 18:22:09 2022] rtc_cmos 00:01: setting system clock to 2022-09-07T16:22:10 UTC (1662567730) [mié sep 7 18:22:09 2022] rtc_cmos 00:01: alarms up to one month, y3k, 114 bytes nvram, hpet irqs
En el ejemplo anterior, nos indica que se podría arrancar desde el estado de “sueño” ACPI S4, es decir, desde un apagado total.
Los estados de energía del sistema son:
- S0: estado normal, encendido.
- S1: en espera, la CPU no trabaja.
- S2: “dormido”. La CPU no tiene alimentación, pero la RAM sí. Raramente se implementa.
- S3: suspensión a RAM con muy poca alimentación.
- S4: suspensión a disco (hibernación)
- S5: apagado total.
Funcionamiento
rtcwake permite los siguientes modos (parámetro m o mode):
mem: suspende el equipo (contenido a RAM).disk: hiberna el equipo (contenido a disco).off: apaga el equipo.no: solo establece la hora en que despierta el sistema. Se supone que será el usuario (o alguna tarea programada) quien apague/suspenda el equipo.on: Es un modo que tampoco suspende y es utilizado para depuración de programas.
Si usamos la opción n podemos hacer una simulación. Esto es útil para verificar la ejecución del programa. Por ejemplo:
# rtcwake -m off --date +1hours -n rtcwake: wakeup from "off" using /dev/rtc0 at Sun Sep 11 22:32:03 2022
Suspender y arrancar
El siguiente comando suspenderá el equipo y lo arrancará tras 30 segundos:
rtcwake -m mem -s 30
Apagar y arrancar
El siguiente comando apagará el equipo y lo arrancará tras 60 segundos:
rtcwake -m off -s 60
Recursos
- Estados de energía del sistema (Microsoft Docs)
