[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"question-linux-kak-rabotaet-cron-i-planirovanie-zadach":3},{"id":4,"slug":5,"topicId":6,"topicSlug":7,"topicName":8,"topicEmoji":9,"question":10,"answer":11,"codeLang":12,"codeSrc":12,"important":12,"commonMistakes":12,"modernUsage":12,"difficulty":13,"tags":14,"related":15,"progress":16,"seo":17},1015,"kak-rabotaet-cron-i-planirovanie-zadach",18,"linux","Linux","🐧","Как работает cron и планирование задач?","cron — демон планирования периодических задач в Linux. Задачи описываются в файлах crontab.\n\n### Формат записи crontab\n\n```\n┌───────── минуты (0-59)\n│ ┌───────── часы (0-23)\n│ │ ┌───────── день месяца (1-31)\n│ │ │ ┌───────── месяц (1-12)\n│ │ │ │ ┌───────── день недели (0-7, где 0 и 7 = воскресенье)\n│ │ │ │ │\n* * * * * команда\n```\n\n### Управление crontab\n\n```bash\ncrontab -e                   # Редактировать задачи\ncrontab -l                   # Показать задачи\ncrontab -r                   # Удалить все задачи\nsudo crontab -u appuser -e   # Задачи другого пользователя\n```\n\n### Примеры\n\n```bash\n# Каждый день в 2:30 — бэкап БД\n30 2 * * * \u002Fopt\u002Fscripts\u002Fbackup-db.sh >> \u002Fvar\u002Flog\u002Fbackup.log 2>&1\n\n# Каждые 5 минут — проверка здоровья приложения\n*\u002F5 * * * * curl -sf http:\u002F\u002Flocalhost:8080\u002Factuator\u002Fhealth > \u002Fdev\u002Fnull || systemctl restart myapp\n\n# Каждый понедельник в 6:00 — очистка логов\n0 6 * * 1 find \u002Fvar\u002Flog\u002Fmyapp -name \"*.log\" -mtime +30 -delete\n\n# Каждые 10 минут с 9 до 18 в будни\n*\u002F10 9-18 * * 1-5 \u002Fopt\u002Fscripts\u002Fcheck-queue.sh\n```\n\n### Специальные обозначения\n\n```bash\n@reboot     # При загрузке системы\n@hourly     # Каждый час (= 0 * * * *)\n@daily      # Каждый день (= 0 0 * * *)\n@weekly     # Каждую неделю\n@monthly    # Каждый месяц\n```\n\n### Системные cron-каталоги\n\n| Путь | Описание |\n|---|---|\n| `\u002Fetc\u002Fcrontab` | Системный crontab (с указанием пользователя) |\n| `\u002Fetc\u002Fcron.d\u002F` | Дополнительные файлы cron-задач |\n| `\u002Fetc\u002Fcron.hourly\u002F` | Скрипты каждый час |\n| `\u002Fetc\u002Fcron.daily\u002F` | Скрипты ежедневно |\n| `\u002Fetc\u002Fcron.weekly\u002F` | Скрипты еженедельно |\n\n### Альтернатива: systemd timers\n\n```bash\nsystemctl list-timers    # Все активные таймеры\n```\n\nSystemd-таймеры более гибкие и интегрированы с journald для логирования.\n\n### Важно\n\n- Cron запускает команды в минимальном окружении — переменные `PATH`, `JAVA_HOME` могут быть не установлены. Указывайте полные пути к исполняемым файлам\n- Логи cron: `grep CRON \u002Fvar\u002Flog\u002Fsyslog` или `journalctl -u cron`\n\n> **На собеседовании:** интервьюер может попросить написать cron-выражение для конкретного расписания. Частая ошибка — забыть, что cron работает в минимальном окружении без `JAVA_HOME` и `PATH`. Всегда указывайте полные пути: `\u002Fusr\u002Fbin\u002Fjava` вместо `java`.","","junior",[7],[],null,{"title":18,"description":19,"ogTitle":18,"ogDescription":19,"keywords":20,"schemaAnswer":19,"featuredSnippetReady":21},"Как работает cron и планирование задач? — Gymterview","cron — демон планирования периодических задач в Linux. Задачи описываются в файлах crontab.",[7,13],true]