Подробный гайд по настройке таймера для запуска действий в РЕД ОС
РЕД ОС основана на RPM-пакетах и использует системный менеджер systemd, поэтому для планирования задач можно использовать как встроенные средства, так и классические инструменты Linux. Выберите способ, который лучше всего подходит под вашу задачу.
Способ 1: Встроенная команда shutdown (Самый простой для выключения)
Если ваша цель — просто запланировать выключение или перезагрузку, отдельные таймеры не нужны. В системе уже есть встроенный планировщик.
Синтаксис:
sudo shutdown [опция] [время] [сообщение]
Примеры:
- Выключить компьютер через 60 минут:
sudo shutdown -h +60 - Выключить компьютер сегодня в 23:30:
sudo shutdown -h 23:30 - Перезагрузить компьютер через 15 минут:
sudo shutdown -r +15 - Отменить запланированное выключение:
sudo shutdown -c
Способ 2: Команда at (Лучший выбор для одноразовых отложенных действий)
Утилита at позволяет запустить любую команду или скрипт один раз в указанное время. Это идеально для задач вроде "выключить ПК через 2 часа" или "запустить резервное копирование в 3 часа ночи".
Шаг 1. Установка и запуск службы (если не установлена)
sudo dnf install at
sudo systemctl enable --now atd
Шаг 2. Использование
Вы можете передать команду через конвейер или указать файл со скриптом.
- Запустить выключение через 30 минут:
echo "shutdown -h now" | sudo at now + 30 minutes - Запустить скрипт
/home/user/backup.shзавтра в 14:00:
echo "/home/user/backup.sh" | at 14:00 tomorrow
Шаг 3. Управление задачами
- Посмотреть список запланированных задач:
atq(илиat -l) - Удалить задачу (укажите номер задачи из вывода
atq):
atrm <номер_задачи>(например,atrm 3)
Важно:
Для выполнения системных команд (как shutdown) через at от имени обычного пользователя, его имя должно быть добавлено в файл /etc/at.allow. Либо просто используйте sudo перед командой at.
Способ 3: Планировщик cron (Для регулярных, повторяющихся действий)
Если действие должно выполняться по расписанию (например, каждый день в 22:00), используйте cron.
Шаг 1. Открытие редактора crontab
crontab -e
(Если спрашивает выбор редактора, нажмите 1 для nano или 2 для vim)
Шаг 2. Добавление правила
Формат строки: минута час день_месяца месяц день_недели команда
Примеры:
- Выключать компьютер каждый день в 23:00:
0 23 * * * /sbin/shutdown -h now - Запускать скрипт каждый будний день (пн-пт) в 18:30:
30 18 * * 1-5 /home/user/script.sh
Шаг 3. Сохранение
- В
nano:Ctrl+O,Enter,Ctrl+X - В
vim:Esc,:wq,Enter
Просмотр и удаление задач cron:
- Просмотр:
crontab -l - Удаление всех задач:
crontab -r
Способ 4: Системные таймеры systemd (Самый гибкий и надежный)
systemd таймеры являются современной заменой cron и позволяют задавать сложные расписания (например, "через 10 минут после загрузки системы" или "каждые 2 часа").
Шаг 1. Создание файла службы (что делать)
Создайте файл /etc/systemd/system/my-shutdown.service:
sudo nano /etc/systemd/system/my-shutdown.service
Вставьте следующее содержимое:
[Unit]
Description=Таймер выключения компьютера
[Service]
Type=oneshot
ExecStart=/sbin/shutdown -h now
Шаг 2. Создание файла таймера (когда делать)
Создайте файл /etc/systemd/system/my-shutdown.timer:
sudo nano /etc/systemd/system/my-shutdown.timer
Вставьте содержимое (пример: запуск каждый день в 23:00):
[Unit]
Description=Ежедневный таймер выключения в 23:00
[Timer]
OnCalendar=*-*-* 23:00:00
Persistent=true
[Install]
WantedBy=timers.target
(Другие примеры OnCalendar: *-*-* 02:00:00 (каждый день в 2 утра), Mon *-*-* 09:00:00 (каждый понедельник в 9 утра), OnUnitActiveSec=1h (каждый час после последнего запуска)).
Шаг 3. Активация таймера
sudo systemctl daemon-reload
sudo systemctl enable --now my-shutdown.timer
Управление:
- Проверить статус таймера:
systemctl list-timers - Остановить и отключить:
sudo systemctl disable --now my-shutdown.timer
Способ 5: Графический интерфейс (Для рабочих столов MATE / KDE)
РЕД ОС часто поставляется с окружением рабочего стола MATE или KDE. В них есть графические планировщики.
Для MATE:
- Откройте меню → Система → Планировщик задач (или выполните в терминале
mate-schedule). - Нажмите Добавить.
- Введите команду (например,
/sbin/shutdown -h now). - Настройте расписание (время, дни недели) в удобном визуальном редакторе.
- Сохраните. Система запросит пароль администратора для сохранения задачи с правами
root.
Для KDE Plasma:
- Откройте меню → Настройка → Планировщик задач (Task Scheduler).
- Нажмите Новая задача → Задача с командой.
- Укажите путь к команде (
/sbin/shutdown -h now). - Перейдите на вкладку Расписание и настройте время.
- Сохраните, авторизовавшись через PolicyKit.
Диагностика и решение проблем
1. Задача не выполняется: Проверьте логи системы.
- Для
systemd:journalctl -u my-shutdown.service - Для
cron:grep CRON /var/log/cron(или/var/log/messagesв зависимости от версии РЕД ОС).
2. Проблемы с правами:
Убедитесь, что команды, требующие прав суперпользователя (как shutdown), запускаются через sudo в cron/at, или что сам файл службы systemd выполняется от имени root (по умолчанию).
3. Полный путь к командам:
В cron и systemd всегда указывайте полные пути к исполняемым файлам (например, /sbin/shutdown, а не просто shutdown), так как переменная PATH в этих средах может быть ограничена.
Мы делимся этой технической информацией, чтобы помочь вам в решении задач — используйте её с пониманием. Статья носит рекомендательный характер, поэтому, пожалуйста, применяйте описанные методы осмотрительно.