Как запланировать выключение в Linux: методы и примеры

Ответ:

В Linux существует несколько способов запланировать завершение работы в определенное время. Ниже я расскажу вам о различных подходах и примерах кода.

  1. Использование команды «shutdown»:
    Самый простой способ запланировать выключение — использовать команду «shutdown» с указанием времени. Откройте терминал и выполните следующую команду:

    shutdown -h <time>

    где представляет время выключения. Например, чтобы выключить систему в 21:30, вы можете использовать:

    shutdown -h 21:30

    Этот метод требует root-прав.

  2. Использование команды «at»:
    Команда «at» позволяет запланировать выполнение команд в определенное время. Чтобы запланировать выключение, выполните следующие действия:
    a. Откройте терминал и выполните:

    echo "shutdown -h now" | at <time>

    Замените на желаемое время выключения. Например, чтобы выключиться в 23:00, используйте:

    echo "shutdown -h now" | at 23:00

    б. Нажмите Ctrl + D, чтобы отправить команду.

  3. Использование Cron:
    Cron — это планировщик заданий на основе времени в Linux, который позволяет автоматизировать задачи. Чтобы запланировать завершение работы с помощью Cron, выполните следующие действия:
    a. Откройте терминал и выполните:

    crontab -e

    б. В редакторе добавьте следующую строку, чтобы запланировать выключение в определенное время (например, 22:30):

    30 22 * * * shutdown -h now

    в. Сохраните файл и выйдите из редактора.

  4. Использование таймеров systemd.
    Таймеры Systemd предоставляют более продвинутый способ планирования задач. Вот как можно настроить таймер выключения:
    a. Создайте файл модуля systemd, выполнив:

    sudo nano /etc/systemd/system/shutdown.timer

    б. Добавьте в файл следующее содержимое:

    [Unit]
    Description=Shutdown Timer
    [Timer]
    OnCalendar=<time>
    Unit=shutdown.target
    [Install]
    WantedBy=timers.target

    Замените на желаемое время выключения.
    c. Сохраните файл и выйдите из редактора.
    d. Включите и запустите таймер, выполнив:

    sudo systemctl enable shutdown.timer
    sudo systemctl start shutdown.timer

Не забудьте заменить желаемым временем выключения во всех приведенных примерах.