RTCWAKE(8) Administracja systemem RTCWAKE(8)

rtcwake - wchodzi w stan uśpienia systemu do zadanego czasu wybudzenia

rtcwake [opcje] [-d urządzenie] [-m tryb-uśpienia] {-s sekundy|-t time_t}

Program służy do przejścia w systemowy stan uśpienia i automatycznego wybudzenia z niego o podanym czasie.

Korzysta z wieloplatformowych interfejsów linuksowych do przejścia w stan uśpienia oraz opuszczenia go nie później, niż o zadanym czasie. Korzysta z dowolnego sterownika szkieletu zegara czasu rzeczywistego (RTC), obsługującego standardowy model flag wybudzenia.

Zwykle korzysta się z niego jak ze starego narzędzia apmsleep, do wybudzenia ze stanu wstrzymania, takiego jak S1 (gotowość) lub S3 (wstrzymanie do RAM-u) ACPI. Większość platform może je implementować bez odpowiedników BIOS-u, APM czy ACPI.

W większości systemów, można z niego korzystać jak z nvram-wakeup, budząc się ze stanów takich jak S4 ACPI (wstrzymanie na dysk). Nie wszystkie systemy mają trwały nośnik, który jest wymagany przy tego typu trybach.

Proszę zauważyć, że funkcja alarmu zależy od sprzętu; nie każdy RTC może ustawić alarm do 24 godzin w przyszłość.

Konfigurowanie wstrzymania może być przerwane przez aktywny sprzęt; np. przez bezprzewodowe urządzenie wejściowe USB kontynuujące wysyłanie zdarzeń przez ułamek sekundy po wciśnięciu klawisza Enter. rtcwake stara się uniknąć tego problemu, odczekując na stabilizację terminala przed przejściem w stan uśpienia.

-A, --adjfile plik

Określa alternatywną ścieżkę pliku dostosowania.

-a, --auto

Odczytuje tryb zegara (tego, czy zegar sprzętowy jest ustawiony na UTC, czy na czas lokalny) z pliku adjtime, gdzie hwclock(8) przechowuje tę informację. Tak jest domyślnie.

--date znacznik-czasu

Ustawia czas wybudzenia na wartość podanego znacznika czasowego. Formatem znacznika-czasu może być jeden z poniższych:
 RRRRMMDDggmmss
 "RRRR-MM-DD gg:mm:ss"
 "RRRR-MM-DD gg:mm"      (sekundy będą ustawione na 00)
 RRRR-MM-DD              (czas będzie ustawiony na 00:00:00)
 gg:mm:ss                (data będzie ustawiona na dziś)
 gg:mm                   (data będzie ustawiona na dziś, sekundy na 00)
 +liczba[smhd]           (sekundy/minuty/godziny/dni od teraz)
 tomorrow                (jutro; czas jest ustawiony na 00:00:00)

Przykłady formatu +liczba[smhd] to: +5m, +6h, +2d. Jako jednostkę można podać też dłuższy angielski wariant: +5min, +6hours, +2days.

-d, --device urządzenie

Używa podanego urządzenia jako zegara czasu rzeczywistego, zamiast rtc0. Opcja ma znaczenie tylko, jeśli w systemie jest więcej niż jeden RTC. Można tu podać rtc1, rtc2, ... .

-l, --local

Przyjmuje, że zegar sprzętowy jest ustawiony na czas lokalny, niezależnie od zawartości pliku adjtime.

--list-modes

Wypisuje dostępne argumenty opcji --mode.

-m, --mode tryb

Przechodzi w podany stan wstrzymania. Prawidłowymi wartościami trybu są:

standby

Stan S1 ACPI. Oferuje najmniejsze, choć widoczne, oszczędności zużytej energii, zapewniając jednocześnie bardzo szybki powrót do stanu pracy. Jest to tryb domyślny.

freeze

Wszystkie procesy są zamrażane, wszystkie urządzenia są zawieszane, a wszystkie procesory przechodzą w stan bezczynności. Jest to ogólny stan, który nie wymaga żadnej obsługi po stronie danej platformy, lecz oszczędza mniej energii niż wstrzymanie do RAM-u, ponieważ system wciąż działa (dostępne od Linuksa 3.9).

mem

Stan S3 ACPI (wstrzymanie do RAM-u). Oferuje znaczącą oszczędność zużywanej energii, ponieważ wszystko w systemie przechodzi w stan minimalnego zasilania, z wyjątkiem pamięci, przechodzącej w tryb odświeżania, w celu podtrzymania zawartości RAM-u.

disk

Stan S4 ACPI (wstrzymanie na dysk). Oferuje największą oszczędność energii i może być używany nawet w przypadku braku niskopoziomowej obsługi zarządzania energią po stronie platformy. Stan jest podobny do wstrzymania do RAM-u, lecz dodatkowo obejmuje końcowy krok, polegający na zapisaniu zawartości pamięci na dysk.

off

Stan S5 ACPI (wyłączenie). Dokonywane przez wywołanie "/sbin/shutdown". Nie jest oficjalnie obsługiwane przez ACPI, lecz zwykle działa.

no

Nie wstrzymuje, jedynie ustawia czas wybudzenia RTC.

on

Nie wstrzymuje, lecz odczytuje urządzenie RTC do wystąpienia czasu alarmu. Tryb przydatny do debugowania.

disable

Wyłącza alarm ustawiony wcześniej.

show

Pokazuje informacje o alarmie w postaci: "alarm: wyłączony|włączony <czas>". Czas występuje w formacie wyjściowym ctime(3) np. "alarm: włączony wto 16 lis 04:48:45 2010".

-n, --dry-run

Opcja wykonuje wszystko, poza faktycznym ustawieniem alarmu, wstrzymaniem systemu lub czekaniem na alarm.

-s, --seconds sekundy

Ustawia czas wybudzenia na liczbę sekund od teraz.

-t, --time time_t

Ustawia czas wybudzenia na wartość bezwzględną time_t. time_t to czas w sekundach od 1970-01-01, 00:00 UTC. Czas można przekonwertować pomiędzy postacią czytelną a time_t narzędziem date(1).

-u, --utc

Przyjmuje, że zegar sprzętowy jest ustawiony na czas uniwersalny UTC (Universal Time Coordinated), niezależnie od zawartości pliku adjtime.

-v, --verbose

Więcej szczegółów.

-h, --help

Wyświetla ten tekst i wychodzi.

-V, --version

Wyświetla wersję i wychodzi.

Niektóre systemy nie mogą obecnie wyjść ze stanów uśpienia takich jak mem, korzystając tylko z kodu jądra dostępnego temu sterownikowi. Wymagają pomocy ze strony kodu z przestrzeni użytkownika, aby ponownie mógł zadziałać bufor ramki.

/etc/adjtime

Program zamieszczono kilka razy na LKML i innych listach, przed jego pojawieniem się w komentarzu do zatwierdzenia zmiany GIT 87ac84f42a7a580d0dd72ae31d6a5eb4bfe04c6d przeznaczonej do Linuksa 2.6.

Program napisał David Brownell <dbrownell@users.sourceforge.net>, a ulepszył Bernhard Walle <bwalle@suse.de>.

Jest to wolne oprogramowanie. Można redystrybuować jego kopie na zasadach licencji GNU General Public License http://www.gnu.org/licenses/gpl.html. BRAK GWARANCJI, w zakresie dozwolonym przez prawo.

adjtime_config(5), hwclock(8), date(1)

Problemy należy zgłaszać w systemie śledzenia błędów https://github.com/util-linux/util-linux/issues.

Polecenie rtcwake jest częścią pakietu util-linux, który można pobrać ze strony Archiwum jądra Linux https://www.kernel.org/pub/linux/utils/util-linux/.

2026-09-02 util-linux 2.42.3