Шпаргалка по автоматизации задач с помощью
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