[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"page-ru-/guides/linux/setup-cron-job":3,"mdc-jpwrty-key":408,"mdc--x89tvu-key":443,"mdc-81z6mb-key":467,"mdc--bc0ay0-key":496,"mdc--mz9r2v-key":519,"mdc--1i0c5q-key":560,"related-/guides/linux/systemd-timer-vs-cron,/guides/linux/bash-script-basics,/guides/linux/log-rotate-nginx":568},{"id":4,"title":5,"appliesTo":6,"author":11,"body":12,"canonical":351,"code":351,"createdAt":352,"description":353,"difficulty":354,"draft":355,"estimatedTime":356,"extension":357,"faq":358,"howToSteps":368,"howToTotalTime":378,"image":351,"keywords":379,"locale":386,"meta":387,"navigation":388,"path":389,"platform":390,"related":391,"section":395,"seo":396,"severity":351,"stem":397,"summary":398,"tags":399,"twitterCreator":351,"twitterSite":351,"type":406,"updatedAt":352,"__hash__":407},"content_ru/guides/linux/setup-cron-job.md","Настройка планировщика Cron в Linux: пошаговая инструкция",[7,8,9,10],"Ubuntu 22.04 / 24.04 LTS","Debian 11 / 12","RHEL / CentOS / AlmaLinux 8 / 9","openSUSE Leap 15.5+","FixPedia Team",{"type":13,"value":14,"toc":342},"minimark",[15,20,24,28,44,92,99,103,106,120,142,146,149,154,157,179,182,186,197,260,267,271,274,286,300,304,338],[16,17,19],"h2",{"id":18},"зачем-нужен-планировщик-cron","Зачем нужен планировщик Cron",[21,22,23],"p",{},"Cron — это стандартный фоновый демон в Linux, который выполняет команды или скрипты строго по заданному расписанию. Он незаменим для автоматического резервного копирования баз данных, очистки временных директорий, отправки отчётов или запуска скриптов мониторинга. После выполнения этого гайда вы сможете самостоятельно создавать, редактировать и проверять любые фоновые задачи без установки сторонних утилит.",[16,25,27],{"id":26},"требования-и-подготовка","Требования и подготовка",[21,29,30,31,35,36,39,40,43],{},"Перед началом работы убедитесь, что у вас есть доступ к терминалу сервера или виртуальной машины. Для управления системными задачами потребуются права суперпользователя (",[32,33,34],"code",{},"root"," или ",[32,37,38],{},"sudo","). Убедитесь, что служба ",[32,41,42],{},"cron"," активна. В большинстве современных дистрибутивов она включена по умолчанию, но проверить статус можно командой:",[45,46,51],"pre",{"className":47,"code":48,"language":49,"meta":50,"style":50},"language-bash shiki shiki-themes github-light github-dark","systemctl status cron   # Для Debian/Ubuntu\n# или\nsystemctl status crond  # Для RHEL/CentOS/AlmaLinux\n","bash","",[32,52,53,73,79],{"__ignoreMap":50},[54,55,58,62,66,69],"span",{"class":56,"line":57},"line",1,[54,59,61],{"class":60},"sScJk","systemctl",[54,63,65],{"class":64},"sZZnC"," status",[54,67,68],{"class":64}," cron",[54,70,72],{"class":71},"sJ8bj","   # Для Debian/Ubuntu\n",[54,74,76],{"class":56,"line":75},2,[54,77,78],{"class":71},"# или\n",[54,80,82,84,86,89],{"class":56,"line":81},3,[54,83,61],{"class":60},[54,85,65],{"class":64},[54,87,88],{"class":64}," crond",[54,90,91],{"class":71},"  # Для RHEL/CentOS/AlmaLinux\n",[21,93,94,95,98],{},"Если служба остановлена, запустите её через ",[32,96,97],{},"sudo systemctl enable --now cron",".",[16,100,102],{"id":101},"шаг-1-открытие-конфигурационного-файла","Шаг 1: Открытие конфигурационного файла",[21,104,105],{},"Для редактирования личного расписания текущего пользователя выполните в терминале:",[45,107,109],{"className":47,"code":108,"language":49,"meta":50,"style":50},"crontab -e\n",[32,110,111],{"__ignoreMap":50},[54,112,113,116],{"class":56,"line":57},[54,114,115],{"class":60},"crontab",[54,117,119],{"class":118},"sj4cs"," -e\n",[21,121,122,123,126,127,130,131,134,135,138,139,98],{},"При первом запуске система предложит выбрать текстовый редактор. Для быстрой работы рекомендуется ",[32,124,125],{},"nano"," (управление через ",[32,128,129],{},"Ctrl+O"," для сохранения и ",[32,132,133],{},"Ctrl+X"," для выхода). Если вы хотите настроить задачи для конкретного пользователя, используйте флаг ",[32,136,137],{},"-u",": ",[32,140,141],{},"sudo crontab -u username -e",[16,143,145],{"id":144},"шаг-2-понимание-синтаксиса-расписания","Шаг 2: Понимание синтаксиса расписания",[21,147,148],{},"Каждая строка в файле crontab описывает одно задание. Формат строго фиксирован и состоит из пяти полей времени, за которыми следует команда:",[21,150,151],{},[32,152,153],{},"минута час день_месяца месяц день_недели команда",[21,155,156],{},"Значения разделяются пробелами. Для указания нескольких значений используйте запятую, для диапазонов — дефис, а для шага — косую черту.",[158,159,160,167,173],"ul",{},[161,162,163,166],"li",{},[32,164,165],{},"*/5 * * * *"," — каждые 5 минут.",[161,168,169,172],{},[32,170,171],{},"0 2 * * *"," — ежедневно в 02:00.",[161,174,175,178],{},[32,176,177],{},"30 1 1,15 * *"," — первого и пятнадцатого числа каждого месяца в 01:30.",[180,181],"in-article-ad",{},[16,183,185],{"id":184},"шаг-3-создание-и-сохранение-задачи","Шаг 3: Создание и сохранение задачи",[21,187,188,189,193,194,98],{},"Перейдите в конец файла и добавьте новую строку. Всегда указывайте ",[190,191,192],"strong",{},"абсолютные пути"," к исполняемым файлам и скриптам, так как cron работает в минимальном окружении и не читает системные переменные ",[32,195,196],{},"$PATH",[45,198,200],{"className":47,"code":199,"language":49,"meta":50,"style":50},"# Ежедневный экспорт базы данных в 03:00\n0 3 * * * /usr/bin/pg_dump mydb > /home/user/backups/db_$(date +\\%F).sql 2>&1\n",[32,201,202,207],{"__ignoreMap":50},[54,203,204],{"class":56,"line":57},[54,205,206],{"class":71},"# Ежедневный экспорт базы данных в 03:00\n",[54,208,209,212,215,218,220,222,225,228,232,235,239,242,245,248,251,254,257],{"class":56,"line":75},[54,210,211],{"class":60},"0",[54,213,214],{"class":118}," 3",[54,216,217],{"class":118}," *",[54,219,217],{"class":118},[54,221,217],{"class":118},[54,223,224],{"class":64}," /usr/bin/pg_dump",[54,226,227],{"class":64}," mydb",[54,229,231],{"class":230},"szBVR"," >",[54,233,234],{"class":64}," /home/user/backups/db_",[54,236,238],{"class":237},"sVt8B","$(",[54,240,241],{"class":60},"date",[54,243,244],{"class":64}," +",[54,246,247],{"class":118},"\\%",[54,249,250],{"class":64},"F",[54,252,253],{"class":237},")",[54,255,256],{"class":64},".sql",[54,258,259],{"class":230}," 2>&1\n",[21,261,262,263,266],{},"После добавления строки сохраните файл и закройте редактор. Cron автоматически перезагрузит конфигурацию и выведет сообщение ",[32,264,265],{},"crontab: installing new crontab",". Дополнительный запуск служб не требуется.",[16,268,270],{"id":269},"проверка-работы-задания","Проверка работы задания",[21,272,273],{},"Убедиться, что задача успешно добавлена в очередь, можно командой:",[45,275,277],{"className":47,"code":276,"language":49,"meta":50,"style":50},"crontab -l\n",[32,278,279],{"__ignoreMap":50},[54,280,281,283],{"class":56,"line":57},[54,282,115],{"class":60},[54,284,285],{"class":118}," -l\n",[21,287,288,289,292,293,296,297,98],{},"Для отслеживания запуска и ошибок демона просматривайте системный журнал. В Ubuntu/Debian используйте ",[32,290,291],{},"sudo grep CRON /var/log/syslog",", а в RHEL-семействе — ",[32,294,295],{},"sudo grep CRON /var/log/cron",". Если вывод показывает успешное выполнение, но результат отсутствует, перенаправьте вывод скрипта в отдельный лог-файл для детальной отладки: ",[32,298,299],{},">> /var/log/my_task.log 2>&1",[16,301,303],{"id":302},"возможные-проблемы-и-решения","Возможные проблемы и решения",[158,305,306,319,328],{},[161,307,308,311,312,315,316,98],{},[190,309,310],{},"Задание не запускается."," Проверьте права на выполнение файла: ",[32,313,314],{},"chmod +x /путь/к/скрипту.sh",". Также убедитесь, что в самом начале скрипта указан корректный интерпретатор (shebang), например ",[32,317,318],{},"#!/bin/bash",[161,320,321,324,325,98],{},[190,322,323],{},"Ошибки окружения и путей."," Cron не подгружает пользовательские переменные. Объявляйте их явно в самом скрипте или в начале crontab: ",[32,326,327],{},"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",[161,329,330,333,334,337],{},[190,331,332],{},"Конфликт или дублирование процессов."," Если скрипт выполняется дольше интервала запуска, могут накопиться параллельные экземпляры. Разнесите их по времени или используйте утилиту ",[32,335,336],{},"flock",", чтобы гарантировать однопоточное выполнение.",[339,340,341],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}",{"title":50,"searchDepth":75,"depth":75,"links":343},[344,345,346,347,348,349,350],{"id":18,"depth":75,"text":19},{"id":26,"depth":75,"text":27},{"id":101,"depth":75,"text":102},{"id":144,"depth":75,"text":145},{"id":184,"depth":75,"text":185},{"id":269,"depth":75,"text":270},{"id":302,"depth":75,"text":303},null,"2026-04-04 23:36:43","Автоматизируйте запуск скриптов и резервное копирование данных на сервере Linux с помощью cron. Пошаговая инструкция по созданию, проверке и отладке заданий.","easy",false,"5-10 мин","md",[359,362,365],{"question":360,"answer":361},"Как открыть редактор crontab без ошибок выбора редактора?","При первом запуске `crontab -e` укажите предпочитаемый редактор в переменной окружения: `export EDITOR=nano` или запустите `select-editor` для настройки по умолчанию.",{"question":363,"answer":364},"Почему задание cron не выполняется, хотя команда работает в терминале?","Cron запускает процессы в минимальном окружении без загрузки ваших `.bashrc` или `.profile`. Всегда используйте абсолютные пути к исполняемым файлам и явно объявляйте нужные переменные в скрипте.",{"question":366,"answer":367},"Как запустить задачу от имени другого пользователя?","Используйте флаг `-u`: `sudo crontab -u username -e`. Альтернативно, добавьте правило с указанием пользователя в системный файл `/etc/crontab`.",[369,372,375],{"name":370,"text":371},"Открытие конфигурационного файла","Запустите терминал и выполните `crontab -e` для текущего пользователя или добавьте `sudo` для редактирования корневого расписания.",{"name":373,"text":374},"Изучение синтаксиса расписания","Запомните формат: `минута час день месяц день_недели команда`. Используйте `*/N` для шага, `,` для перечисления и `-` для диапазонов.",{"name":376,"text":377},"Добавление и сохранение задачи","Вставьте строку с абсолютными путями в конец файла, сохраните изменения и дождитесь автоматической перезагрузки демона cron.","PT10M",[380,381,382,383,384,385],"настройка cron linux","как создать задание cron","crontab примеры синтаксис","планировщик задач ubuntu","автоматизация bash скриптов","cron не запускается решение","ru_RU",{},true,"/guides/linux/setup-cron-job","linux",[392,393,394],"/guides/linux/systemd-timer-vs-cron","/guides/linux/bash-script-basics","/guides/linux/log-rotate-nginx","Гайды Linux",{"title":5,"description":353},"guides/linux/setup-cron-job","Узнайте, как безопасно создавать и управлять фоновыми задачами в Linux через cron. Вы получите готовые шаблоны расписаний и научитесь диагностировать сбои.",[400,401,402,403,404,405],"Linux","Cron","Automation","Bash","Системное администрирование","Server","guide","pJ75Ca8R3EMuQk8WzxAD-Q_d5QkhON3bSLtcOslDfNI",{"data":409,"body":410},{},{"type":34,"children":411},[412],{"type":413,"tag":21,"props":414,"children":415},"element",{},[416,419,425,427,433,435,441],{"type":417,"value":418},"text","При первом запуске ",{"type":413,"tag":32,"props":420,"children":422},{"className":421},[],[423],{"type":417,"value":424},"crontab -e",{"type":417,"value":426}," укажите предпочитаемый редактор в переменной окружения: ",{"type":413,"tag":32,"props":428,"children":430},{"className":429},[],[431],{"type":417,"value":432},"export EDITOR=nano",{"type":417,"value":434}," или запустите ",{"type":413,"tag":32,"props":436,"children":438},{"className":437},[],[439],{"type":417,"value":440},"select-editor",{"type":417,"value":442}," для настройки по умолчанию.",{"data":444,"body":445},{},{"type":34,"children":446},[447],{"type":413,"tag":21,"props":448,"children":449},{},[450,452,458,459,465],{"type":417,"value":451},"Cron запускает процессы в минимальном окружении без загрузки ваших ",{"type":413,"tag":32,"props":453,"children":455},{"className":454},[],[456],{"type":417,"value":457},".bashrc",{"type":417,"value":35},{"type":413,"tag":32,"props":460,"children":462},{"className":461},[],[463],{"type":417,"value":464},".profile",{"type":417,"value":466},". Всегда используйте абсолютные пути к исполняемым файлам и явно объявляйте нужные переменные в скрипте.",{"data":468,"body":469},{},{"type":34,"children":470},[471],{"type":413,"tag":21,"props":472,"children":473},{},[474,476,481,482,487,489,495],{"type":417,"value":475},"Используйте флаг ",{"type":413,"tag":32,"props":477,"children":479},{"className":478},[],[480],{"type":417,"value":137},{"type":417,"value":138},{"type":413,"tag":32,"props":483,"children":485},{"className":484},[],[486],{"type":417,"value":141},{"type":417,"value":488},". Альтернативно, добавьте правило с указанием пользователя в системный файл ",{"type":413,"tag":32,"props":490,"children":492},{"className":491},[],[493],{"type":417,"value":494},"/etc/crontab",{"type":417,"value":98},{"data":497,"body":498},{},{"type":34,"children":499},[500],{"type":413,"tag":21,"props":501,"children":502},{},[503,505,510,512,517],{"type":417,"value":504},"Запустите терминал и выполните ",{"type":413,"tag":32,"props":506,"children":508},{"className":507},[],[509],{"type":417,"value":424},{"type":417,"value":511}," для текущего пользователя или добавьте ",{"type":413,"tag":32,"props":513,"children":515},{"className":514},[],[516],{"type":417,"value":38},{"type":417,"value":518}," для редактирования корневого расписания.",{"data":520,"body":521},{},{"type":34,"children":522},[523],{"type":413,"tag":21,"props":524,"children":525},{},[526,528,534,536,542,544,550,552,558],{"type":417,"value":527},"Запомните формат: ",{"type":413,"tag":32,"props":529,"children":531},{"className":530},[],[532],{"type":417,"value":533},"минута час день месяц день_недели команда",{"type":417,"value":535},". Используйте ",{"type":413,"tag":32,"props":537,"children":539},{"className":538},[],[540],{"type":417,"value":541},"*/N",{"type":417,"value":543}," для шага, ",{"type":413,"tag":32,"props":545,"children":547},{"className":546},[],[548],{"type":417,"value":549},",",{"type":417,"value":551}," для перечисления и ",{"type":413,"tag":32,"props":553,"children":555},{"className":554},[],[556],{"type":417,"value":557},"-",{"type":417,"value":559}," для диапазонов.",{"data":561,"body":562},{},{"type":34,"children":563},[564],{"type":413,"tag":21,"props":565,"children":566},{},[567],{"type":417,"value":377},[]]