В Linux и UNIX задачи по расписанию почти всегда упираются в crontab: бэкапы, проверки, синхронизации, отчёты. Синтаксис короткий, но не интуитивный: ошибка в одном поле, и job едет не в то время. Генератор Crontab собирает готовую строку из полей формы, чтобы не считать маску вручную.
Что такое crontab
Crontab – таблица заданий пользователя (или системные файлы в /etc/cron.*), где каждая строка описывает когда и что запускать. Точность – до минуты. Типичные сценарии:
- регулярные бэкапы и дампы БД;
- мониторинг и health-check скрипты;
- синхронизация данных, очистка логов, ротация артефактов;
- отправка отчётов и уведомлений по расписанию.
Пять временных полей (минута, час, день месяца, месяц, день недели) плюс команда. Неверная цифра или забытый путь к интерпретатору – и job либо молчит, либо стреляет слишком часто.
Как работает генератор
На странице генератора заполняются поля:
- Минута – например
15(в 15-ю минуту часа) или*/5(каждые 5 минут); - Час – час запуска (0-23);
- День месяца – число (1-31) или
*; - Месяц – 1-12 или список месяцев;
- День недели – 0-7 (воскресенье часто и 0, и 7) или диапазон;
- Команда – полный путь к скрипту или бинарнику:
php,wget, shell-скрипт.
Кнопка «Сгенерировать Crontab» отдаёт готовую строку. Её остаётся вставить в crontab -e или в системный cron-файл.
Примеры на разных системах
Ubuntu / Debian
Открыть crontab текущего пользователя:
crontab -e
Скрипт каждый день в 02:30:
30 2 * * * /usr/bin/php /var/www/mysite/cron.php
Сохранить и выйти из редактора. Список текущих jobs: crontab -l.
CentOS / RHEL
Тот же crontab -e. Пример: каждую пятницу в 06:00 скачать файл:
0 6 * * 5 /usr/bin/wget http://example.com/file.zip -O /var/backups/file.zip
Arch Linux
Аналогично. Дамп MySQL/MariaDB каждый день в полночь:
0 0 * * * /usr/bin/mysqldump -u root -p mydatabase > /var/backups/mydatabase.sql
Пароль в crontab в открытом виде – плохая практика. Лучше defaults-file, socket auth или отдельный user с ограниченными правами.
Практические замечания
- В cron урезанный
PATH. Пишите полные пути к бинарникам (/usr/bin/php,/usr/bin/wget). - Вывод job лучше перенаправлять в лог или на
MAILTO, иначе важные ошибки теряются. - Совпадение дня месяца и дня недели работает по правилам cron (логическое ИЛИ). Если нужно строго «1-е число и только понедельник», смотрите документацию или systemd timers.
- Для сложных календарей иногда проще
systemd.timer, но crontab по-прежнему везде и понятен.
Зачем генератор
- меньше опечаток в пяти полях времени;
- быстрее собрать нестандартное расписание;
- удобно для новичков и для редких jobs, которые пишешь раз в полгода.
Инструмент: generator-crontab. Сгенерировали строку, вставили в crontab, проверили лог первого запуска – на этом обычно всё.


