Скиллы Новичок Разное

Cron & Scheduling

Скачать ZIP
14
Предупреждение о рисках!

Установка скиллов и плагинов 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 — фундаментальные инструменты автоматизации. Они обеспечивают надежность, повторяемость и контроль выполнения задач, позволяя системам работать автономно и без лишного ручного вмешательства.


Файл из источника

10886_cron-scheduling-1.0.0.zip