Перейти к содержимому

Команды

crontab: синтаксис cron с примерами (каждые 5 минут, каждый день, при загрузке)

cron запускает команды по расписанию: резервные копии, очистку, отчёты. Расписание каждого пользователя хранится в его crontab.

Формат

┌──────── минута (0–59)
│ ┌────── час (0–23)
│ │ ┌──── день месяца (1–31)
│ │ │ ┌── месяц (1–12)
│ │ │ │ ┌ день недели (0–7; 0 и 7 — воскресенье)
│ │ │ │ │
* * * * *  команда

* — любое значение, */5 — каждое пятое, 1-5 — диапазон, 1,15 — список.

Примеры расписаний

ЗаписьКогда
* * * * *каждую минуту
*/5 * * * *каждые 5 минут
0 * * * *каждый час в :00
0 3 * * *каждый день в 03:00
30 9 * * 1-5по будням в 09:30
0 0 * * 0каждое воскресенье в полночь
0 0 1 * *первого числа каждого месяца
@rebootпри загрузке системы
@daily, @hourlyраз в день, раз в час

Команды

crontab -l              # мои задачи
crontab -e              # редактировать
crontab -l -u alice     # задачи другого пользователя (root)
ls /etc/cron.d /etc/cron.daily /etc/cron.hourly   # системные задачи
cat /etc/crontab        # системное расписание (с полем «пользователь»)

Пример строки:

0 3 * * * /usr/bin/tar -czf /backup/site-$(date +\%F).tar.gz /var/www >> /var/log/backup.log 2>&1

Частые ошибки

  • Команда работает в терминале, но не в cron. У cron минимальный PATH и другой рабочий каталог: пишите полные пути к программам и файлам.
  • % в команде. В crontab знак % означает перевод строки — экранируйте его: \%.
  • Никто не видит ошибок. Перенаправляйте вывод в журнал: >> /var/log/job.log 2>&1.

С точки зрения безопасности

  • Закрепление: атакующий добавляет свою задачу, чтобы вернуться после перезагрузки. При расследовании проверяют crontab всех пользователей и /etc/cron*.
  • Повышение привилегий: скрипт, который root запускает по cron, но может изменить любой, — прямой путь к root. Ищите такие скрипты через find / -perm -o+w -type f 2>/dev/null.

Обновлено 20 октября 2026 г.

crontab: синтаксис cron с примерами (каждые 5 минут, каждый день, при загрузке) — CyberLab