Скиллы Новичок Управление и автоматизация

Cron Scheduler

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

Установка скиллов и плагинов OpenClaw осуществляется на ваш страх и риск. Все файлы были получены из открытых источников и предоставляются «как есть». Мы не гарантируем их корректную работу, безопасность или совместимость с вашей системой. Перед установкой настоятельно рекомендуется ознакомиться с содержимым кода и убедиться, что вы понимаете, какие изменения будут внесены в вашу систему.

Cron Scheduler

Создавайте, просматривайте, изменяйте и удаляйте задачи cron, чтобы автоматизировать системные процессы с помощью упрощённого синтаксиса. Управляйте логами выполнения и полностью контролируйте расписание задач.

Что это делает

Cron Scheduler позволяет управлять запланированными задачами (cron jobs) на вашей системе. Вы можете автоматизировать резервное копирование, проверки состояния, очистку файлов, API-запросы, уведомления и любые другие действия, которые должны выполняться по расписанию. Агент берёт на себя работу с синтаксисом cron, упрощая процесс настройки.

Основные команды

Просмотр всех задач:

crontab -l

Добавление новой задачи:

(crontab -l 2>/dev/null; echo "SCHEDULE COMMAND") | crontab -

Удаление задачи:

crontab -e

или удаление по шаблону:

crontab -l | grep -v "PATTERN" | crontab -

Проверка логов

grep CRON /var/log/syslog | tail -20

или:

journalctl -u cron --since "1 hour ago"

Тестирование команды

Перед добавлением в cron рекомендуется выполнить команду вручную:

COMMAND_HERE

Проверьте код завершения:

echo $?

Синтаксис cron

* * * * * command
│ │ │ │ │
│ │ │ │ └─ день недели (0–7)
│ │ │ └── месяц (1–12)
│ │ └──── день месяца (1–31)
│ └────── час (0–23)
└──────── минута (0–59)

Часто используемые шаблоны

  • Каждую минуту: * * * * *
  • Каждые 5 минут: */5 * * * *
  • Каждый час: 0 * * * *
  • Каждый день в 02:00: 0 2 * * *
  • Каждый понедельник в 09:00: 0 9 * * 1
  • По будням в 08:00: 0 8 * * 1-5

Примеры использования

Уведомление о заполнении диска:

0 8 * * * df -h / | awk 'NR==2 && $5+0 > 80 {print "Disk alert"}'

Очистка /tmp раз в неделю:

0 3 * * 0 find /tmp -type f -mtime +7 -delete

Ночной бэкап базы данных:

0 2 * * * pg_dump mydb > /backups/db.sql

Переменные окружения

Cron запускается с минимальным окружением, поэтому важно явно задавать переменные:

PATH=/usr/bin:/bin
SHELL=/bin/bash

Перенаправление вывода

Всегда настраивайте вывод, чтобы избежать переполнения почтовых очередей:

* * * * * command >> /var/log/job.log 2>&1

Игнорировать вывод:

* * * * * command > /dev/null 2>&1

Лучшие практики

  • Используйте абсолютные пути к файлам и командам
  • Всегда перенаправляйте вывод в лог
  • Учитывайте часовой пояс системы
  • Минимальный интервал выполнения — 1 минута
  • Тестируйте команды перед добавлением в cron

Примеры запросов

  • «Запускай резервное копирование каждую ночь в 2:00»
  • «Проверяй свободное место каждый час»
  • «Какие задачи сейчас запланированы?»
  • «Останови ежедневную очистку»

Ограничения

  • Cron использует минимальное окружение
  • Требует ручной настройки логирования
  • Зависит от системного времени
  • Не поддерживает интервалы меньше минуты
  • Задачи пользователя удаляются вместе с пользователем

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

10885_cron-scheduler-1.0.0.zip