Como obter o rtcwake para usar o momento certo para acordar?

3

Eu preciso de uma maneira de acordar um host Debian todos os dias às 11:45.

Parece que o rtcwake é uma boa ferramenta para isso, mas não consigo usá-lo na hora certa.

O relógio do hardware está definido para UTC e eu estou localizado na UTC + 2:

# timedatectl
      Local time: Tue 2017-03-28 01:19:45 CEST
  Universal time: Mon 2017-03-27 23:19:45 UTC
        RTC time: Mon 2017-03-27 23:19:46
       Time zone: Europe/Paris (CEST, +0200)
     NTP enabled: no
NTP synchronized: no
 RTC in local TZ: no
      DST active: yes
 Last DST change: DST began at
                  Sun 2017-03-26 01:59:59 CET
                  Sun 2017-03-26 03:00:00 CEST
 Next DST change: DST ends (the clock jumps one hour backwards) at
                  Sun 2017-10-29 02:59:59 CEST
                  Sun 2017-10-29 02:00:00 CET

Eu não tentei nada / l / u, sem sucesso:

# rtcwake -m no -t 'date +%s -d"2017-03-28 11:45"'

→ 09:44:59

# rtcwake -m no -l -t $(date +\%s -d '2017-03-28 11:45')

→ 13:44:59

# rtcwake -m no -u -t $(date +\%s -d '2017-03-28 11:45')

→ 9:45:00

Há algo mais que eu devo atualizar no sistema para que o rtcwake use o momento certo?

Obrigado.

Editar: Aqui está a saída do cat / proc / driver / rtc:

rtc_time        : 00:08:06
rtc_date        : 2017-03-28
alrm_time       : 09:45:00
alrm_date       : 2017-03-28
alarm_IRQ       : no
alrm_pending    : no
update IRQ enabled      : no
periodic IRQ enabled    : no
periodic IRQ frequency  : 1024
max user IRQ frequency  : 64
24hr            : yes
periodic_IRQ    : no
update_IRQ      : no
HPET_emulated   : yes
BCD             : yes
DST_enable      : no
periodic_freq   : 1024
batt_status     : okay

BTW, o Google não ajudou a descobrir como cancelar um trabalho: "rtcwake -m disable" parece não funcionar.

    
por Gulbahar 28.03.2017 / 01:25

1 resposta

3

Pelo que vejo, rtcwake usa a hora certa. Aparentemente, a hora exibida é a hora do seu RTC, não a hora que você definiu (fuso horário local). Portanto, ele é baseado em UTC quando você diz rtcwake seu relógio RTC está definido como UTC (com -u ou -a o padrão). E é a hora local em que você informa rtcwake do seu relógio RTC está definido para a hora local (com -l ).

    
por 28.03.2017 / 02:22