Шпаргалка по автоматизации задач с помощью cron
и таймеров systemd
🟢 Cron
1.
Формат записи задач в crontab:
* * * * * command_to_execute
| | | | |
| | | | +---- День недели (0 - вс, 6 - сб)
| | | +------ Месяц (1 - 12)
| | +-------- День месяца (1 - 31)
| +---------- Час (0 - 23)
+------------ Минуты (0 - 59)
2.
Примеры:
- Запуск каждый день в 3 утра:
0 3 * * * /path/to/script.sh
- Каждые 15 минут:
*/15 * * * * /path/to/script.sh
3.
Просмотр/редактирование crontab:
crontab -e
4.
Логи cron:
- Расположены в
/var/log/syslog
или
/var/log/cron
.
🟢 Таймеры systemd
1.
Файлы таймеров:
-
Сервис: /etc/systemd/system/mytask.service
-
Таймер: /etc/systemd/system/mytask.timer
2.
Пример .service
:
[Unit]
Description=My Task Service
[Service]
ExecStart=/path/to/script.sh
3.
Пример .timer
:
[Unit]
Description=Run My Task Every Day
[Timer]
OnCalendar=daily
Persistent=true
[Install]
WantedBy=timers.target
4.
Основные команды:
- Включение таймера:
systemctl enable mytask.timer
- Запуск таймера:
systemctl start mytask.timer
- Проверка статуса:
systemctl list-timers