Толик Панков
hex_laden
............ .................. ................
October 2025
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

Толик Панков [userpic]
Linux: завершение работы в определенное время.

Преамбула


Понадобилось подготовить оборудование к отключению в определенное время (отключение электричества от энергокомпании), оборудование разное, под Linux и Windows, сейчас расскажу про Linux.

Проще всего воспользоваться Cron.

Редактор для Crontab


Конфигурационный файл Cron не рекомендуется редактировать вручную, тому ще файл один, для всех пользователей, но утилита crontab его аккуратно собирает, разбирает, и подсовывает собственно планировщику (cron). Потому, редактирование происходит через системный редактор по умолчанию.

В Slackware системным редактором по умолчанию является неудобный vim, вот инструкция, как заменить его на что-то более удобоваримое:

Slackware: замена основного (системного) консольного редактора на нормальный. (копия)

Краткий синтаксис исполняемой задачи в Cron


Задача, это, собственно, задача - т.е. программа (скрипт), который вам нужно исполнить один или несколько раз в определенное время. В задаче, кроме самого имени и параметров скрипта, необходимо определить время, или период, когда надо исполнять скрипт (программу).

Краткий синтаксис задачи в Cron:

минута[ПРОБЕЛ]час[ПРОБЕЛ]день[ПРОБЕЛ]месяц[ПРОБЕЛ]день_недели команда_с_параметрами

Если нужны не все параметры, то их можно проигнорировать, указав, например, вместо дня недели символ * (звездочка).

Например, мне нужно отключить оборудование в 12.00 11 марта:

Можно добавлять строки комментариев, начинающиеся с #.

# Shutdown server
0 12 11 5 * /sbin/shutdown -h now


Примечание: Если необходимо выполнить задачу от имени пользователя, то и настройку Cron надо выполнять от имени этого пользователя. Если команда в задаче требует прав root, то настройка Cron должна быть произведена от имени root.

Просмотр конфигурации Cron

Осуществляется командой:
crontab -l

Переход в режим редактирования


Корректный запуск редактирования конфигурационного файла Cron осуществляется командой:

crontab -e

Подробный мануал по Cron


Настройка Cron от Losst (копия в PDF)

ЗЫ. Проверил, все работает.

Это репост с сайта http://tolik-punkoff.com
Оригинал: https://tolik-punkoff.com/2023/05/11/linux-zavershenie-raboty-v-opredelennoe-vremya/