# rtcwake

## NAME



           rtcwake - enter a system sleep state until specified wakeup time
    


## SYNOPSIS



           **rtcwake**[options] [**-d** _device_] [**-m** _standby_mode_] {**-s** _seconds_ |**-t**
           _time_t_}
    


## DESCRIPTION



           This program is used to enter a system sleep state and to
           automatically wake from it at a specified time.
    
           This uses cross-platform Linux interfaces to enter a system sleep
           state, and leave it no later than a specified time. It uses any
           RTC framework driver that supports standard driver model wakeup
           flags.
    
           This is normally used like the old **apmsleep** utility, to wake from
           a suspend state like ACPI S1 (standby) or S3 (suspend-to-RAM).
           Most platforms can implement those without analogues of BIOS, APM,
           or ACPI.
    
           On some systems, this can also be used like **nvram-wakeup** , waking
           from states like ACPI S4 (suspend to disk). Not all systems have
           persistent media that are appropriate for such suspend modes.
    
           Note that alarm functionality depends on hardware; not every RTC
           is able to setup an alarm up to 24 hours in the future.
    
           The suspend setup may be interrupted by active hardware; for
           example wireless USB input devices that continue to send events
           for some fraction of a second after the return key is pressed.
           **rtcwake** tries to avoid this problem and it waits to the terminal
           to settle down before entering a system sleep.
    


## OPTIONS



           **-A** , **--adjfile** _file_
               Specify an alternative path to the adjust file.
    
           **-a** , **--auto**
               Read the clock mode (whether the hardware clock is set to UTC
               or local time) from the _adjtime_ file, where hwclock(8) stores
               that information. This is the default.
    
           **--date** _timestamp_
               Set the wakeup time to the value of this timestamp. The format
               of _timestamp_ can be any of the following:
    
                    YYYYMMDDhhmmss
                    "YYYY-MM-DD hh:mm:ss"
                    "YYYY-MM-DD hh:mm"      (seconds is 00)
                    YYYY-MM-DD              (time is 00:00:00)
                    hh:mm:ss                (date is today)
                    hh:mm                   (date is today, seconds is 00)
                    +number[smhd]           (seconds/minutes/hours/days after now)
                    tomorrow                (time is 00:00:00)
    
               Examples of the **+**_number_[**smhd**] format are: **+5m** , **+6h** , **+2d**. The
               unit specifier may be longer: **+5min** , **+6hours** , **+2days**.
    
           **-d** , **--device** _device_
               Use the specified _device_ instead of **rtc0** as realtime clock.
               This option is only relevant if your system has more than one
               RTC. You may specify **rtc1** , **rtc2** , ... here.
    
           **-l** , **--local**
               Assume that the hardware clock is set to local time,
               regardless of the contents of the _adjtime_ file.
    
           **--list-modes**
               List available **--mode** option arguments.
    
           **-m** , **--mode** _mode_
               Go into the given standby state. Valid values for _mode_ are:
    
               **standby**
                   ACPI state S1. This state offers minimal, though real,
                   power savings, while providing a very low-latency
                   transition back to a working system. This is the default
                   mode.
    
               **freeze**
                   The processes are frozen, all the devices are suspended
                   and all the processors idled. This state is a general
                   state that does not need any platform-specific support,
                   but it saves less power than Suspend-to-RAM, because the
                   system is still in a running state. (Available since Linux
                   3.9.)
    
               **mem**
                   ACPI state S3 (Suspend-to-RAM). This state offers
                   significant power savings as everything in the system is
                   put into a low-power state, except for memory, which is
                   placed in self-refresh mode to retain its contents.
    
               **disk**
                   ACPI state S4 (Suspend-to-disk). This state offers the
                   greatest power savings, and can be used even in the
                   absence of low-level platform support for power
                   management. This state operates similarly to
                   Suspend-to-RAM, but includes a final step of writing
                   memory contents to disk.
    
               **off**
                   ACPI state S5 (Poweroff). This is done by calling
                   '/sbin/shutdown'. Not officially supported by ACPI, but it
                   usually works.
    
               **no**
                   Don’t suspend, only set the RTC wakeup time.
    
               **on**
                   Don’t suspend, but read the RTC device until an alarm time
                   appears. This mode is useful for debugging.
    
               **disable**
                   Disable a previously set alarm.
    
               **show**
                   Print alarm information in format: "alarm: off|on <time>".
                   The time is in ctime() output format, e.g., "alarm: on Tue
                   Nov 16 04:48:45 2010".
    
           **-n** , **--dry-run**
               This option does everything apart from actually setting up the
               alarm, suspending the system, or waiting for the alarm.
    
           **-s** , **--seconds** _seconds_
               Set the wakeup time to _seconds_ in the future from now.
    
           **-t** , **--time** _time_t_
               Set the wakeup time to the absolute time _time_t_. _time_t_ is the
               time in seconds since 1970-01-01, 00:00 UTC. Use the date(1)
               tool to convert between human-readable time and _time_t_.
    
           **-u** , **--utc**
               Assume that the hardware clock is set to UTC (Universal Time
               Coordinated), regardless of the contents of the _adjtime_ file.
    
           **-v** , **--verbose**
               Be verbose.
    
           **-h** , **--help**
               Display help text and exit.
    
           **-V** , **--version**
               Display version and exit.
    


## NOTES



           Some PC systems can’t currently exit sleep states such as **mem**
           using only the kernel code accessed by this driver. They need help
           from userspace code to make the framebuffer work again.
    


## FILES



           _/etc/adjtime_
    


## AVAILABILITY



           The **rtcwake** command is part of the util-linux package which can be
           downloaded from Linux Kernel Archive
           <https://www.kernel.org/pub/linux/utils/util-linux/>. This page is
           part of the _util-linux_ (a random collection of Linux utilities)
           project. Information about the project can be found at 
           ⟨https://www.kernel.org/pub/linux/utils/util-linux/⟩. If you have a
           bug report for this manual page, send it to
           util-linux@vger.kernel.org. This page was obtained from the
           project's upstream Git repository
           ⟨git://git.kernel.org/pub/scm/utils/util-linux/util-linux.git⟩ on
           2025-08-11. (At that time, the date of the most recent commit that
           was found in the repository was 2025-08-05.) If you discover any
           rendering problems in this HTML version of the page, or you
           believe there is a better or more up-to-date source for the page,
           or you have corrections or improvements to the information in this
           COLOPHON (which is _not_ part of the original manual page), send a
           mail to man-pages@man7.org
    
    util-linux 2.42-start-521-ec46  2025-08-09                     _RTCWAKE_(8)
    


* * *