Установка скиллов и плагинов OpenClaw осуществляется на ваш страх и риск. Все файлы были получены из открытых источников и предоставляются «как есть». Мы не гарантируем их корректную работу, безопасность или совместимость с вашей системой. Перед установкой настоятельно рекомендуется ознакомиться с содержимым кода и убедиться, что вы понимаете, какие изменения будут внесены в вашу систему.
Автоматизация повторяющихся задач — одна из ключевых практик в инженерии и администрировании. Cron и systemd timers позволяют запускать скрипты по расписанию, устраняя ручные действия и снижая риск пропущенных задач.
Что решает этот подход
Использование планировщиков задач помогает надежно выполнять регулярные операции: резервное копирование, очистку логов, генерацию отчетов или интеграционные процессы. Вместо ручного запуска вы описываете правило — и система делает всё сама. :
Основные возможности
- Настройка cron-задач и systemd таймеров
- Планирование с учетом временных зон
- Мониторинг выполнения и обработка ошибок
- Отладка задач, которые не запустились
- Поддержка одноразовых и повторяющихся запусков
Когда использовать
- Регулярные бэкапы
- Очистка логов и временных файлов
- Периодические отчеты
- Интеграции и синхронизации
- Диагностика проблем с расписанием
Синтаксис cron
Cron использует пять полей для определения расписания:
* * * * * команда
Где:
- минута (0–59)
- час (0–23)
- день месяца (1–31)
- месяц (1–12)
- день недели (0–7)
Примеры расписаний
# Каждую минуту
* * * * * /path/to/script.sh
# Каждые 5 минут
*/5 * * * * /path/to/script.sh
# Каждый день в 2:30
30 2 * * * /path/to/script.sh
# Каждый понедельник в 9:00
0 9 * * 1 /path/to/script.sh
# По будням в 8:00
0 8 * * 1-5 /path/to/script.sh
Специальные выражения
@reboot /path/to/script.sh
@daily /path/to/script.sh
@weekly /path/to/script.sh
@monthly /path/to/script.sh
@yearly /path/to/script.sh
Управление crontab
# Редактировать
crontab -e
# Показать
crontab -l
# Удалить все задачи
crontab -r
# Бэкап
crontab -l > backup.txt
Лучшие практики
PATH=/usr/local/bin:/usr/bin:/bin
MAILTO=admin@example.com
SHELL=/bin/bash
Cron запускается в ограниченном окружении, поэтому важно явно задавать переменные и пути. :
Systemd timers как альтернатива
Systemd timers — современная альтернатива cron с расширенными возможностями: логирование, обработка пропущенных запусков и гибкие зависимости. :
# backup.service
[Service]
Type=oneshot
ExecStart=/opt/scripts/backup.sh
# backup.timer
[Timer]
OnCalendar=*-*-* 02:00:00
Persistent=true
Преимущества systemd timers
- Логи через journald
- Выполнение пропущенных задач после перезапуска
- Гибкие зависимости (сеть, файловые системы)
- Контроль ресурсов
Отладка и мониторинг
Если задача не выполняется, проверьте:
- PATH и окружение
- права доступа
- логи (journalctl, systemctl status)
- код завершения скрипта
Итог
Cron и systemd timers — фундаментальные инструменты автоматизации. Они обеспечивают надежность, повторяемость и контроль выполнения задач, позволяя системам работать автономно и без лишного ручного вмешательства.
Файл из источника