[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"page-ru-/errors/linux/cron-output-missing":3,"mdc--cl8ctd-key":533,"mdc-zewmwh-key":544,"mdc-rzjlmf-key":552,"mdc--pivs79-key":569,"mdc-frgqg4-key":606,"mdc--tstpaz-key":623,"mdc--y1h1y3-key":648,"mdc--w47nmi-key":664,"mdc--mvml19-key":688,"related-/errors/linux/cron-permission-denied,/guides/linux/configure-cron":711},{"id":4,"title":5,"appliesTo":6,"author":10,"body":11,"canonical":469,"code":26,"createdAt":470,"description":471,"difficulty":472,"draft":473,"estimatedTime":474,"extension":475,"faq":476,"howToSteps":489,"howToTotalTime":505,"image":469,"keywords":506,"locale":515,"meta":516,"navigation":317,"path":517,"platform":518,"related":519,"section":522,"seo":523,"severity":472,"stem":524,"summary":525,"tags":526,"twitterCreator":469,"twitterSite":469,"type":531,"updatedAt":470,"__hash__":532},"content_ru/errors/linux/cron-output-missing.md","Исправление ошибки Cron CRON001: отсутствует вывод задания",[7,8,9],"Ubuntu 22.04 LTS","Debian 12","RHEL 9","FixPedia Team",{"type":12,"value":13,"toc":456},"minimark",[14,19,37,40,58,62,107,111,116,119,169,186,192,198,230,233,237,240,274,277,281,289,341,344,348,359,393,400,404,449,452],[15,16,18],"h2",{"id":17},"что-означает-ошибка-cron001","Что означает ошибка CRON001",[20,21,22,23,27,28,32,33,36],"p",{},"Ошибка ",[24,25,26],"strong",{},"CRON001"," (часто отображается как ",[29,30,31],"em",{},"error: CRON output missing",") сигнализирует, что запланированное cron-задание завершилось, но ",[24,34,35],{},"не произвело никакого вывода"," в стандартный поток или настроенный лог. Cron ожидает, что задание что-то запишет (например, для отслеживания или почтового уведомления), и отсутствие вывода воспринимается как «задание молчит».",[20,38,39],{},"Типичные ситуации:",[41,42,43,52,55],"ul",{},[44,45,46,47,51],"li",{},"Задание должно записывать данные в ",[48,49,50],"code",{},"/var/log/...",", но этого не происходит.",[44,53,54],{},"Вывод перенаправляется почтовой службе, которая не доставляет сообщения.",[44,56,57],{},"Задание падает с ошибкой, и эта ошибка не попадает в журнал.",[15,59,61],{"id":60},"причины-возникновения","Причины возникновения",[63,64,65,75,89,95,101],"ol",{},[44,66,67,70,71,74],{},[24,68,69],{},"Вывод проигнорирован"," – cron перенаправляет стандартный вывод в почтовую службу, которая не настроена (",[48,72,73],{},"MAILTO"," пусто) или не работает.",[44,76,77,80,81,84,85,88],{},[24,78,79],{},"Отсутствует PATH/SHELL"," – без явного ",[48,82,83],{},"SHELL"," и ",[48,86,87],{},"PATH"," crontab команда может не выполниться или завершиться с ошибкой silenciously.",[44,90,91,94],{},[24,92,93],{},"Недостаточные права"," – задание запускается от имени пользователя без прав на запись в целевой лог-файл.",[44,96,97,100],{},[24,98,99],{},"Ошибка в команде"," – сама команда может упасть с неуловимой ошибкой, ничего не выведя.",[44,102,103,106],{},[24,104,105],{},"Драйвер или зависимость отсутствует"," – внешняя команда, скрипт или утилита не установлены в среде cron, что приводит к немедленному завершению работы.",[15,108,110],{"id":109},"способы-решения","Способы решения",[112,113,115],"h3",{"id":114},"способ-1-явно-перенаправьте-вывод-в-лог","Способ 1: Явно перенаправьте вывод в лог",[20,117,118],{},"Большинство cron-заданий должны записывать результаты в файл, а не полагаться на почту. Добавьте перенаправление в crontab:",[120,121,126],"pre",{"className":122,"code":123,"language":124,"meta":125,"style":125},"language-bash shiki shiki-themes github-light github-dark","# Пример записи в crontab\n0 2 * * * /usr/local/bin/backup.sh > /var/log/backup.log 2>&1\n","bash","",[48,127,128,137],{"__ignoreMap":125},[129,130,133],"span",{"class":131,"line":132},"line",1,[129,134,136],{"class":135},"sJ8bj","# Пример записи в crontab\n",[129,138,140,144,148,151,153,155,159,163,166],{"class":131,"line":139},2,[129,141,143],{"class":142},"sScJk","0",[129,145,147],{"class":146},"sj4cs"," 2",[129,149,150],{"class":146}," *",[129,152,150],{"class":146},[129,154,150],{"class":146},[129,156,158],{"class":157},"sZZnC"," /usr/local/bin/backup.sh",[129,160,162],{"class":161},"szBVR"," >",[129,164,165],{"class":157}," /var/log/backup.log",[129,167,168],{"class":161}," 2>&1\n",[170,171,172],"blockquote",{},[20,173,174,177,178,181,182,185],{},[24,175,176],{},"💡 Совет:"," Используйте ",[48,179,180],{},">>",", если вам нужен апендинг; ",[48,183,184],{},"2>&1"," объединяет стандартный вывод и ошибки.",[112,187,189,190],{"id":188},"способ-2-настройте-mailto","Способ 2: Настройте ",[48,191,73],{},[20,193,194,195,197],{},"Если вам нужны уведомления по почте, установите ",[48,196,73],{}," в начале crontab:",[120,199,201],{"className":122,"code":200,"language":124,"meta":125,"style":125},"MAILTO=admin@example.com\n0 3 * * * /path/to/script.sh\n",[48,202,203,214],{"__ignoreMap":125},[129,204,205,208,211],{"class":131,"line":132},[129,206,73],{"class":207},"sVt8B",[129,209,210],{"class":161},"=",[129,212,213],{"class":157},"admin@example.com\n",[129,215,216,218,221,223,225,227],{"class":131,"line":139},[129,217,143],{"class":142},[129,219,220],{"class":146}," 3",[129,222,150],{"class":146},[129,224,150],{"class":146},[129,226,150],{"class":146},[129,228,229],{"class":157}," /path/to/script.sh\n",[20,231,232],{},"Теперь любой вывод будет отправлен указанному пользователю.",[112,234,236],{"id":235},"способ-3-проверьте-задание-вручную","Способ 3: Проверьте задание вручную",[20,238,239],{},"Перед тем как полагаться на cron, запустите команду в идентичной среде:",[120,241,243],{"className":122,"code":242,"language":124,"meta":125,"style":125},"sudo -u \u003Cuser> /bin/bash -c \"/path/to/script.sh\"\n",[48,244,245],{"__ignoreMap":125},[129,246,247,250,253,256,259,262,265,268,271],{"class":131,"line":132},[129,248,249],{"class":142},"sudo",[129,251,252],{"class":146}," -u",[129,254,255],{"class":161}," \u003C",[129,257,258],{"class":157},"use",[129,260,261],{"class":207},"r",[129,263,264],{"class":161},">",[129,266,267],{"class":157}," /bin/bash",[129,269,270],{"class":146}," -c",[129,272,273],{"class":157}," \"/path/to/script.sh\"\n",[20,275,276],{},"Это показывает, есть ли действительно что-то на выходе, или скрипт падает с ошибкой.",[112,278,280],{"id":279},"способ-4-установите-переменные-окружения","Способ 4: Установите переменные окружения",[20,282,283,284,84,286,288],{},"Добавьте ",[48,285,83],{},[48,287,87],{}," в начало crontab:",[120,290,292],{"className":122,"code":291,"language":124,"meta":125,"style":125},"SHELL=/bin/bash\nPATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\n\n0 4 * * * /home/user/scripts/report.sh > /var/log/report.log\n",[48,293,294,303,312,319],{"__ignoreMap":125},[129,295,296,298,300],{"class":131,"line":132},[129,297,83],{"class":207},[129,299,210],{"class":161},[129,301,302],{"class":157},"/bin/bash\n",[129,304,305,307,309],{"class":131,"line":139},[129,306,87],{"class":207},[129,308,210],{"class":161},[129,310,311],{"class":157},"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\n",[129,313,315],{"class":131,"line":314},3,[129,316,318],{"emptyLinePlaceholder":317},true,"\n",[129,320,322,324,327,329,331,333,336,338],{"class":131,"line":321},4,[129,323,143],{"class":142},[129,325,326],{"class":146}," 4",[129,328,150],{"class":146},[129,330,150],{"class":146},[129,332,150],{"class":146},[129,334,335],{"class":157}," /home/user/scripts/report.sh",[129,337,162],{"class":161},[129,339,340],{"class":157}," /var/log/report.log\n",[342,343],"in-article-ad",{},[112,345,347],{"id":346},"способ-5-проверьте-системный-журнал-cron","Способ 5: Проверьте системный журнал cron",[20,349,350,351,354,355,358],{},"Cron записывает каждую попытку в ",[48,352,353],{},"/var/log/syslog"," (или ",[48,356,357],{},"journalctl -u cron","). Поиск ключевых слов поможет выявить скрытые ошибки:",[120,360,362],{"className":122,"code":361,"language":124,"meta":125,"style":125},"grep \"CRON output missing\" /var/log/syslog\njournalctl -u cron -u --since \"2026-07-09 00:00:00\"\n",[48,363,364,375],{"__ignoreMap":125},[129,365,366,369,372],{"class":131,"line":132},[129,367,368],{"class":142},"grep",[129,370,371],{"class":157}," \"CRON output missing\"",[129,373,374],{"class":157}," /var/log/syslog\n",[129,376,377,380,382,385,387,390],{"class":131,"line":139},[129,378,379],{"class":142},"journalctl",[129,381,252],{"class":146},[129,383,384],{"class":157}," cron",[129,386,252],{"class":146},[129,388,389],{"class":146}," --since",[129,391,392],{"class":157}," \"2026-07-09 00:00:00\"\n",[20,394,395,396,399],{},"Если лог показывает более подробную ошибку (например, ",[48,397,398],{},"command not found","), исправьте её напрямую.",[15,401,403],{"id":402},"профилактика","Профилактика",[41,405,406,412,422,430,440],{},[44,407,408,411],{},[24,409,410],{},"Всегда тестируйте задания вручную"," перед тем, как они попадут в cron.",[44,413,414,417,418,421],{},[24,415,416],{},"Логируйте явно"," – добавляйте ",[48,419,420],{},"> /var/log/job.log 2>&1"," ко всем важным заданиям.",[44,423,424,429],{},[24,425,426,427],{},"Следите за ",[48,428,73],{}," – если вам не нужны почтовые уведомления, оставьте его пустым.",[44,431,432,435,436,439],{},[24,433,434],{},"Регулярно проверяйте логи cron"," – используйте крон-задание для поиска новых записей ",[48,437,438],{},"CRON output missing",".",[44,441,442,448],{},[24,443,444,445],{},"Используйте ",[48,446,447],{},"*/bin/bash"," в начале crontab, чтобы обеспечить стабильную среду выполнения.",[20,450,451],{},"С помощью этих шагов вы быстро вернёте контроль над своими автоматизированными заданиями и предотвратите будущие «молчаливые» сбои.",[453,454,455],"style",{},"html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}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 .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}",{"title":125,"searchDepth":139,"depth":139,"links":457},[458,459,460,468],{"id":17,"depth":139,"text":18},{"id":60,"depth":139,"text":61},{"id":109,"depth":139,"text":110,"children":461},[462,463,465,466,467],{"id":114,"depth":314,"text":115},{"id":188,"depth":314,"text":464},"Способ 2: Настройте MAILTO",{"id":235,"depth":314,"text":236},{"id":279,"depth":314,"text":280},{"id":346,"depth":314,"text":347},{"id":402,"depth":139,"text":403},null,"2026-07-10 09:14:51","Пошаговое руководство по устранению ошибки 'Cron output missing' (CRON001) в Linux. Быстро исправьте задания, которые молча завершаются. 5 минут инструкции.","medium",false,"5-10 мин","md",[477,480,483,486],{"question":478,"answer":479},"Что означает сообщение «Cron output missing»?","Cron сообщает, что запланированное задание завершилось без вывода в стандартный поток или лог. Это может означать, что команда завершилась молча, её вывод был проигнорирован или задание упало с ошибкой.",{"question":481,"answer":482},"Почему cron-задания перестают выводить результат?","Частые причины: вывод перенаправляется почтовой службе, в crontab не задан PATH/SHELL, задание выполняется с недостаточными правами, либо команда просто ничего не выводит.",{"question":484,"answer":485},"Как проверить задание вручную?","Запустите ту же команду от имени пользователя cron (`sudo -u \u003Cuser> /bin/bash -c \"command\"`), чтобы увидеть реальный вывод или скрытые ошибки.",{"question":487,"answer":488},"Как предотвратить повторение ошибки?","Добавьте явное перенаправление вывода (`> /var/log/cron_job.log`), настройте `MAILTO` и регулярно проверяйте `/var/log/syslog` или `journalctl -u cron`.",[490,493,496,499,502],{"name":491,"text":492},"Проверьте текущую конфигурацию crontab","Откройте crontab пользователя (`sudo crontab -l`), найдите проблемное задание и убедитесь, что оно содержит команду, которую вы ожидаете.",{"name":494,"text":495},"Настройте обработку вывода","Если вывод задания нужен в логе, добавьте перенаправление, например `command > /var/log/cron_job.log 2>&1`. Если вы хотите получать уведомления по почте, установите `MAILTO=user@email.com` в начале файла.",{"name":497,"text":498},"Запустите задание вручную","Выполните ту же команду от имени пользователя cron (`sudo -u \u003Cuser> /bin/bash -c \"command\"`), чтобы увидеть реальный вывод или ошибки. Это помогает выявить проблемы с PATH или SHELL.",{"name":500,"text":501},"Установите стандартные переменные окружения","В начале crontab добавьте `SHELL=/bin/bash` и `PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin`, чтобы задания работали в знакомой среде.",{"name":503,"text":504},"Проверьте журнал cron","Проверьте системный журнал: `grep CRON /var/log/syslog` или `journalctl -u cron`. Эти записи показывают точную ошибку, по которой cron сообщает об отсутствии вывода.","PT10M",[507,508,509,510,511,512,513,514],"cron output missing","CRON001 ошибка","cron daemon не выводит результат","задание cron молчит","как исправить cron без вывода","cron job no output","cron log missing output","починить crontab без лога","ru_RU",{},"/errors/linux/cron-output-missing","linux",[520,521],"/errors/linux/cron-permission-denied","/guides/linux/configure-cron","Ошибки Linux",{"title":5,"description":471},"errors/linux/cron-output-missing","Статья объясняет, почему cron-задания не выводят результаты, и показывает, как быстро вернуть их работу. Вы узнаете, как проверить задание, настроить логирование и предотвратить повторение ошибки.",[527,518,528,529,530],"cron","scheduler","debugging","automation","error","xVObIPiqwCgbPmasyh2FIjb86XmidoxN3NddCHY9h5M",{"data":534,"body":535},{},{"type":536,"children":537},"root",[538],{"type":539,"tag":20,"props":540,"children":541},"element",{},[542],{"type":543,"value":479},"text",{"data":545,"body":546},{},{"type":536,"children":547},[548],{"type":539,"tag":20,"props":549,"children":550},{},[551],{"type":543,"value":482},{"data":553,"body":554},{},{"type":536,"children":555},[556],{"type":539,"tag":20,"props":557,"children":558},{},[559,561,567],{"type":543,"value":560},"Запустите ту же команду от имени пользователя cron (",{"type":539,"tag":48,"props":562,"children":564},{"className":563},[],[565],{"type":543,"value":566},"sudo -u \u003Cuser> /bin/bash -c \"command\"",{"type":543,"value":568},"), чтобы увидеть реальный вывод или скрытые ошибки.",{"data":570,"body":571},{},{"type":536,"children":572},[573],{"type":539,"tag":20,"props":574,"children":575},{},[576,578,584,586,591,593,598,600,605],{"type":543,"value":577},"Добавьте явное перенаправление вывода (",{"type":539,"tag":48,"props":579,"children":581},{"className":580},[],[582],{"type":543,"value":583},"> /var/log/cron_job.log",{"type":543,"value":585},"), настройте ",{"type":539,"tag":48,"props":587,"children":589},{"className":588},[],[590],{"type":543,"value":73},{"type":543,"value":592}," и регулярно проверяйте ",{"type":539,"tag":48,"props":594,"children":596},{"className":595},[],[597],{"type":543,"value":353},{"type":543,"value":599}," или ",{"type":539,"tag":48,"props":601,"children":603},{"className":602},[],[604],{"type":543,"value":357},{"type":543,"value":439},{"data":607,"body":608},{},{"type":536,"children":609},[610],{"type":539,"tag":20,"props":611,"children":612},{},[613,615,621],{"type":543,"value":614},"Откройте crontab пользователя (",{"type":539,"tag":48,"props":616,"children":618},{"className":617},[],[619],{"type":543,"value":620},"sudo crontab -l",{"type":543,"value":622},"), найдите проблемное задание и убедитесь, что оно содержит команду, которую вы ожидаете.",{"data":624,"body":625},{},{"type":536,"children":626},[627],{"type":539,"tag":20,"props":628,"children":629},{},[630,632,638,640,646],{"type":543,"value":631},"Если вывод задания нужен в логе, добавьте перенаправление, например ",{"type":539,"tag":48,"props":633,"children":635},{"className":634},[],[636],{"type":543,"value":637},"command > /var/log/cron_job.log 2>&1",{"type":543,"value":639},". Если вы хотите получать уведомления по почте, установите ",{"type":539,"tag":48,"props":641,"children":643},{"className":642},[],[644],{"type":543,"value":645},"MAILTO=user@email.com",{"type":543,"value":647}," в начале файла.",{"data":649,"body":650},{},{"type":536,"children":651},[652],{"type":539,"tag":20,"props":653,"children":654},{},[655,657,662],{"type":543,"value":656},"Выполните ту же команду от имени пользователя cron (",{"type":539,"tag":48,"props":658,"children":660},{"className":659},[],[661],{"type":543,"value":566},{"type":543,"value":663},"), чтобы увидеть реальный вывод или ошибки. Это помогает выявить проблемы с PATH или SHELL.",{"data":665,"body":666},{},{"type":536,"children":667},[668],{"type":539,"tag":20,"props":669,"children":670},{},[671,673,679,680,686],{"type":543,"value":672},"В начале crontab добавьте ",{"type":539,"tag":48,"props":674,"children":676},{"className":675},[],[677],{"type":543,"value":678},"SHELL=/bin/bash",{"type":543,"value":84},{"type":539,"tag":48,"props":681,"children":683},{"className":682},[],[684],{"type":543,"value":685},"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",{"type":543,"value":687},", чтобы задания работали в знакомой среде.",{"data":689,"body":690},{},{"type":536,"children":691},[692],{"type":539,"tag":20,"props":693,"children":694},{},[695,697,703,704,709],{"type":543,"value":696},"Проверьте системный журнал: ",{"type":539,"tag":48,"props":698,"children":700},{"className":699},[],[701],{"type":543,"value":702},"grep CRON /var/log/syslog",{"type":543,"value":599},{"type":539,"tag":48,"props":705,"children":707},{"className":706},[],[708],{"type":543,"value":357},{"type":543,"value":710},". Эти записи показывают точную ошибку, по которой cron сообщает об отсутствии вывода.",[712,1253],{"id":713,"title":714,"appliesTo":715,"author":10,"body":720,"canonical":469,"code":1202,"createdAt":1203,"description":1204,"difficulty":1205,"draft":473,"estimatedTime":474,"extension":475,"faq":1206,"howToSteps":1216,"howToTotalTime":1229,"image":469,"keywords":1230,"locale":515,"meta":1239,"navigation":317,"path":520,"platform":518,"related":1240,"section":522,"seo":1244,"severity":472,"stem":1245,"summary":1246,"tags":1247,"twitterCreator":469,"twitterSite":469,"type":531,"updatedAt":1203,"__hash__":1252},"content_ru/errors/linux/cron-permission-denied.md","Cron Permission Denied в Linux: причины и быстрое решение",[716,717,718,719],"Ubuntu 22.04/24.04","Debian 11/12","RHEL 8/9","CentOS 7/8",{"type":12,"value":721,"toc":1191},[722,726,741,747,749,798,800,804,807,823,834,849,861,865,878,881,931,934,966,968,972,979,1012,1015,1031,1041,1045,1051,1054,1072,1083,1097,1104,1133,1139,1141,1188],[15,723,725],{"id":724},"что-означает-ошибка-permission-denied-в-cron","Что означает ошибка Permission denied в cron",[20,727,22,728,731,732,734,735,599,738,439],{},[48,729,730],{},"Permission denied"," (код завершения 126 или 1) появляется, когда служба ",[48,733,527],{}," пытается выполнить запланированную задачу, но операционная система блокирует доступ к файлу, директории или ресурсу. В отчётах вы увидите строки вроде ",[48,736,737],{},"/bin/sh: 1: /path/to/script.sh: Permission denied",[48,739,740],{},"Failed to execute: Permission denied",[20,742,743,744,746],{},"Планировщик работает в фоне, от имени конкретного пользователя, без интерактивного терминала и с ограниченным набором переменных окружения. Если скрипт или файл вывода требует прав, которых у демона ",[48,745,527],{}," нет, выполнение прерывается сразу на старте.",[15,748,61],{"id":60},[63,750,751,757,769,775,781],{},[44,752,753,756],{},[24,754,755],{},"Отсутствует бит выполнения"," у самого скрипта. Файл может быть доступен для чтения, но не помечен как исполняемый.",[44,758,759,762,763,765,766,768],{},[24,760,761],{},"Использование относительных путей"," в crontab или внутри bash-скрипта. ",[48,764,527],{}," не наследует стандартный ",[48,767,87],{}," из вашего профиля.",[44,770,771,774],{},[24,772,773],{},"Неверные права владельца на логи или временные файлы",", куда скрипт пытается писать данные.",[44,776,777,780],{},[24,778,779],{},"Жёсткие политики безопасности"," (SELinux, AppArmor), которые блокируют запуск нестандартных бинарников или доступ к определённым каталогам.",[44,782,783,790,791,84,794,797],{},[24,784,785,786,789],{},"Попытка запуска задачи из системного ",[48,787,788],{},"crontab"," без указания пользователя",". В ",[48,792,793],{},"/etc/crontab",[48,795,796],{},"/etc/cron.d/"," требуется явное указание имени пользователя перед командой.",[15,799,110],{"id":109},[112,801,803],{"id":802},"способ-1-назначение-прав-на-выполнение-файла","Способ 1: Назначение прав на выполнение файла",[20,805,806],{},"Проверьте текущие права на ваш скрипт:",[120,808,810],{"className":122,"code":809,"language":124,"meta":125,"style":125},"ls -l /opt/scripts/backup.sh\n",[48,811,812],{"__ignoreMap":125},[129,813,814,817,820],{"class":131,"line":132},[129,815,816],{"class":142},"ls",[129,818,819],{"class":146}," -l",[129,821,822],{"class":157}," /opt/scripts/backup.sh\n",[20,824,825,826,829,830,833],{},"Если в первой колонке нет символа ",[48,827,828],{},"x"," (например, ",[48,831,832],{},"-rw-r--r--","), добавьте его:",[120,835,837],{"className":122,"code":836,"language":124,"meta":125,"style":125},"chmod +x /opt/scripts/backup.sh\n",[48,838,839],{"__ignoreMap":125},[129,840,841,844,847],{"class":131,"line":132},[129,842,843],{"class":142},"chmod",[129,845,846],{"class":157}," +x",[129,848,822],{"class":157},[170,850,851],{},[20,852,853,854,599,857,860],{},"💡 Совет: Убедитесь, что интерпретатор, указанный в шебанге (",[48,855,856],{},"#!/bin/bash",[48,858,859],{},"#!/usr/bin/env python3","), также доступен для чтения и выполнения пользователю, от имени которого запускается задача.",[112,862,864],{"id":863},"способ-2-замена-относительных-путей-на-абсолютные","Способ 2: Замена относительных путей на абсолютные",[20,866,867,869,870,873,874,877],{},[48,868,527],{}," запускает команды в пустом окружении. Если в crontab написано ",[48,871,872],{},"backup.sh"," или в скрипте используется ",[48,875,876],{},"./config.ini",", система не найдёт файл или откажет в доступе к текущей директории.",[20,879,880],{},"Замените все пути на полные:",[120,882,884],{"className":122,"code":883,"language":124,"meta":125,"style":125},"# Неправильно для cron\n0 2 * * * my_script.sh\n\n# Правильно\n0 2 * * * /usr/local/bin/my_script.sh\n",[48,885,886,891,906,910,915],{"__ignoreMap":125},[129,887,888],{"class":131,"line":132},[129,889,890],{"class":135},"# Неправильно для cron\n",[129,892,893,895,897,899,901,903],{"class":131,"line":139},[129,894,143],{"class":142},[129,896,147],{"class":146},[129,898,150],{"class":146},[129,900,150],{"class":146},[129,902,150],{"class":146},[129,904,905],{"class":157}," my_script.sh\n",[129,907,908],{"class":131,"line":314},[129,909,318],{"emptyLinePlaceholder":317},[129,911,912],{"class":131,"line":321},[129,913,914],{"class":135},"# Правильно\n",[129,916,918,920,922,924,926,928],{"class":131,"line":917},5,[129,919,143],{"class":142},[129,921,147],{"class":146},[129,923,150],{"class":146},[129,925,150],{"class":146},[129,927,150],{"class":146},[129,929,930],{"class":157}," /usr/local/bin/my_script.sh\n",[20,932,933],{},"Внутри самого скрипта явно указывайте полные пути к утилитам:",[120,935,937],{"className":122,"code":936,"language":124,"meta":125,"style":125},"#!/bin/bash\n/usr/bin/rsync -avz /home/user/data /mnt/backup\n/usr/sbin/logrotate /etc/logrotate.d/myapp\n",[48,938,939,944,958],{"__ignoreMap":125},[129,940,941],{"class":131,"line":132},[129,942,943],{"class":135},"#!/bin/bash\n",[129,945,946,949,952,955],{"class":131,"line":139},[129,947,948],{"class":142},"/usr/bin/rsync",[129,950,951],{"class":146}," -avz",[129,953,954],{"class":157}," /home/user/data",[129,956,957],{"class":157}," /mnt/backup\n",[129,959,960,963],{"class":131,"line":314},[129,961,962],{"class":142},"/usr/sbin/logrotate",[129,964,965],{"class":157}," /etc/logrotate.d/myapp\n",[342,967],{},[112,969,971],{"id":970},"способ-3-настройка-прав-доступа-к-логам-и-рабочим-директориям","Способ 3: Настройка прав доступа к логам и рабочим директориям",[20,973,974,975,978],{},"Частая причина ошибки — попытка записать вывод команды (",[48,976,977],{},">> /var/log/cron.log",") в каталог, где у пользователя нет прав на запись. Cron запускает задачи от имени владельца crontab, поэтому целевые директории должны принадлежать ему:",[120,980,982],{"className":122,"code":981,"language":124,"meta":125,"style":125},"sudo chown -R user:user /var/log/myapp\nsudo chmod 755 /var/log/myapp\n",[48,983,984,1000],{"__ignoreMap":125},[129,985,986,988,991,994,997],{"class":131,"line":132},[129,987,249],{"class":142},[129,989,990],{"class":157}," chown",[129,992,993],{"class":146}," -R",[129,995,996],{"class":157}," user:user",[129,998,999],{"class":157}," /var/log/myapp\n",[129,1001,1002,1004,1007,1010],{"class":131,"line":139},[129,1003,249],{"class":142},[129,1005,1006],{"class":157}," chmod",[129,1008,1009],{"class":146}," 755",[129,1011,999],{"class":157},[20,1013,1014],{},"Если вы используете перенаправление вывода в crontab:",[120,1016,1019],{"className":1017,"code":1018,"language":527,"meta":125,"style":125},"language-cron shiki shiki-themes github-light github-dark","# Запускаем как пользователь www-data, логируем ошибки\n*/15 * * * * www-data /usr/local/bin/fetch-data.sh >> /var/log/myapp/fetch.log 2>&1\n",[48,1020,1021,1026],{"__ignoreMap":125},[129,1022,1023],{"class":131,"line":132},[129,1024,1025],{},"# Запускаем как пользователь www-data, логируем ошибки\n",[129,1027,1028],{"class":131,"line":139},[129,1029,1030],{},"*/15 * * * * www-data /usr/local/bin/fetch-data.sh >> /var/log/myapp/fetch.log 2>&1\n",[20,1032,1033,1034,1037,1038,439],{},"Проверьте, что каталог ",[48,1035,1036],{},"/var/log/myapp"," существует и доступен для записи пользователю ",[48,1039,1040],{},"www-data",[112,1042,1044],{"id":1043},"способ-4-проверка-политик-безопасности-apparmor-selinux","Способ 4: Проверка политик безопасности (AppArmor / SELinux)",[20,1046,1047,1048,1050],{},"В современных дистрибутивах стандартные права ",[48,1049,843],{}," могут быть недостаточными. Если система защищена AppArmor (Ubuntu/Debian) или SELinux (RHEL/Alma/Rocky), они могут молча блокировать выполнение.",[20,1052,1053],{},"Проверьте статус AppArmor:",[120,1055,1057],{"className":122,"code":1056,"language":124,"meta":125,"style":125},"aa-status | grep my_script.sh\n",[48,1058,1059],{"__ignoreMap":125},[129,1060,1061,1064,1067,1070],{"class":131,"line":132},[129,1062,1063],{"class":142},"aa-status",[129,1065,1066],{"class":161}," |",[129,1068,1069],{"class":142}," grep",[129,1071,905],{"class":157},[20,1073,1074,1075,1078,1079,1082],{},"Если профиль находится в режиме ",[48,1076,1077],{},"enforce",", переключите его в ",[48,1080,1081],{},"complain"," для тестирования:",[120,1084,1086],{"className":122,"code":1085,"language":124,"meta":125,"style":125},"sudo aa-complain /usr/local/bin/my_script.sh\n",[48,1087,1088],{"__ignoreMap":125},[129,1089,1090,1092,1095],{"class":131,"line":132},[129,1091,249],{"class":142},[129,1093,1094],{"class":157}," aa-complain",[129,1096,930],{"class":157},[20,1098,1099,1100,1103],{},"Для SELinux используйте ",[48,1101,1102],{},"audit2why"," для анализа блокировок:",[120,1105,1107],{"className":122,"code":1106,"language":124,"meta":125,"style":125},"sudo ausearch -m avc -ts recent | audit2why\n",[48,1108,1109],{"__ignoreMap":125},[129,1110,1111,1113,1116,1119,1122,1125,1128,1130],{"class":131,"line":132},[129,1112,249],{"class":142},[129,1114,1115],{"class":157}," ausearch",[129,1117,1118],{"class":146}," -m",[129,1120,1121],{"class":157}," avc",[129,1123,1124],{"class":146}," -ts",[129,1126,1127],{"class":157}," recent",[129,1129,1066],{"class":161},[129,1131,1132],{"class":142}," audit2why\n",[20,1134,1135,1136,439],{},"При подтверждении блокировки добавьте исключение или обновите политики через ",[48,1137,1138],{},"semodule",[15,1140,403],{"id":402},[41,1142,1143,1156,1168,1178],{},[44,1144,1145,1148,1149,1152,1153,1155],{},[24,1146,1147],{},"Тестируйте в чистом окружении."," Перед добавлением в cron запускайте скрипт командой ",[48,1150,1151],{},"env -i bash /путь/к/script.sh",". Она имитирует пустое окружение ",[48,1154,527],{}," и сразу покажет проблемы с путями или переменными.",[44,1157,1158,1163,1164,1167],{},[24,1159,444,1160,439],{},[48,1161,1162],{},"sudo -u"," Для проверки прав запускайте ",[48,1165,1166],{},"sudo -u целевой_пользователь /путь/к/script.sh",". Это покажет реальные ограничения задачи до её добавления в расписание.",[44,1169,1170,1173,1174,1177],{},[24,1171,1172],{},"Настройте уведомления."," Добавьте в начало crontab строку ",[48,1175,1176],{},"MAILTO=\"admin@example.com\"",", чтобы система автоматически отправляла отчёты об ошибках на почту.",[44,1179,1180,1183,1184,1187],{},[24,1181,1182],{},"Фиксируйте пути в скриптах."," Добавляйте в начало каждого bash-скрипта ",[48,1185,1186],{},"set -euo pipefail",". Это заставит выполнение прерываться при первой ошибке прав доступа или отсутствующей команде, упрощая отладку.",[453,1189,1190],{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}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 .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}",{"title":125,"searchDepth":139,"depth":139,"links":1192},[1193,1194,1195,1201],{"id":724,"depth":139,"text":725},{"id":60,"depth":139,"text":61},{"id":109,"depth":139,"text":110,"children":1196},[1197,1198,1199,1200],{"id":802,"depth":314,"text":803},{"id":863,"depth":314,"text":864},{"id":970,"depth":314,"text":971},{"id":1043,"depth":314,"text":1044},{"id":402,"depth":139,"text":403},"126","2026-04-06 10:16:45","Получили ошибку Permission denied при запуске cron? Разбираем 5 рабочих способов настроить права доступа и автоматизировать задачи за 5 минут.","easy",[1207,1210,1213],{"question":1208,"answer":1209},"Почему cron возвращает permission denied, хотя скрипт запускается вручную?","При ручном запуске вы используете текущую среду и права пользователя, а cron работает в минимальном окружении и часто от имени другого пользователя. Убедитесь, что у файла стоят флаги выполнения и прописаны абсолютные пути.",{"question":1211,"answer":1212},"Можно ли запускать задачи cron от имени root без ошибок?","Да, но это требует осторожности. Добавьте задачу в `/etc/crontab` или используйте `sudo crontab -e`. Убедитесь, что скрипт не требует интерактивного ввода паролей или подтверждений.",{"question":1214,"answer":1215},"Как включить подробное логирование cron для отладки?","Раскомментируйте строку `auth,authpriv.* /var/log/auth.log` в конфигурации rsyslog или systemd-journald, затем проверьте `journalctl -u cron --since '10 min ago'`.",[1217,1220,1223,1226],{"name":1218,"text":1219},"Проверка и установка прав выполнения","Запустите `ls -l /путь/к/скрипту` и добавьте флаг `x` через `chmod +x`, чтобы система разрешила запуск файла.",{"name":1221,"text":1222},"Перевод путей на абсолютные","Замените все относительные пути в скрипте и crontab на полные (например, `/usr/bin/python3` вместо `python3`), так как cron использует пустой `PATH`.",{"name":1224,"text":1225},"Настройка прав рабочих директорий","Назначьте корректного владельца и права на папки логов и вывода данных командой `chown -R пользователь:группа /директория`.",{"name":1227,"text":1228},"Проверка политик безопасности","Убедитесь, что SELinux или AppArmor не блокируют выполнение, и при необходимости добавьте профиль в разрешающий режим или обновите политики.","PT8M",[1231,1232,1233,1234,1235,1236,1237,1238],"cron permission denied linux","ошибка прав доступа cron","crontab permission denied","скрипт не запускается по расписанию","chmod cron job","crontab exit code 126","настройка прав cron","планировщик задач linux ошибка",{},[1241,1242,1243],"/guides/linux/crontab-basics","/errors/linux/cron-not-starting","/guides/linux/linux-permissions-guide",{"title":714,"description":1204},"errors/linux/cron-permission-denied","Ошибка «Permission denied» в cron-задачах возникает из-за недостатка прав на выполнение скриптов или файлов журналов. В статье вы найдёте проверенные методы настройки прав и восстановления работы планировщика.",[1248,527,1249,124,1250,1251],"Linux","права доступа","администрирование","планировщик задач","OS52MxJsKZ594xIicQ73Us2bxwIr15YqP1ZYETjH4Fw",{"id":1254,"title":1255,"appliesTo":1256,"author":10,"body":1260,"canonical":469,"code":125,"createdAt":1699,"description":1700,"difficulty":472,"draft":473,"estimatedTime":474,"extension":475,"faq":1701,"howToSteps":1714,"howToTotalTime":1229,"image":469,"keywords":1727,"locale":515,"meta":1736,"navigation":317,"path":521,"platform":518,"related":1737,"section":1741,"seo":1742,"severity":125,"stem":1743,"summary":1744,"tags":1745,"twitterCreator":469,"twitterSite":469,"type":1749,"updatedAt":1699,"__hash__":1750},"content_ru/guides/linux/configure-cron.md","Полное руководство по настройке cron в Linux для автоматизации задач",[1257,1258,1259],"Ubuntu 22.04","Debian 11","CentOS 8",{"type":12,"value":1261,"toc":1687},[1262,1266,1269,1273,1297,1301,1305,1308,1335,1338,1355,1358,1386,1389,1404,1408,1411,1423,1429,1436,1439,1443,1454,1460,1463,1478,1484,1486,1490,1493,1534,1537,1570,1576,1580,1599,1603,1649,1652,1681,1684],[15,1263,1265],{"id":1264},"введение","Введение",[20,1267,1268],{},"Cron — это стандартный планировщик задач в Linux, который позволяет автоматически запускать скрипты, команды или другие программы по заданному расписанию. Настройка cron позволяет автоматизировать рутинные операции: резервное копирование данных, обновление системных логов, отправку отчетов и многое другое. После выполнения этого гайда вы сможете создавать как личные, так и системные задачи, а также отлавливать распространенные ошибки.",[15,1270,1272],{"id":1271},"требования-подготовка","Требования / Подготовка",[41,1274,1275,1278,1284,1294],{},[44,1276,1277],{},"Любая современная Linux‑дистрибутивная система (в статье приведены примеры для Ubuntu, Debian и CentOS).",[44,1279,1280,1281,1283],{},"Права администратора (",[48,1282,249],{},"), чтобы устанавливать пакеты и редактировать таблицы cron.",[44,1285,1286,1287,599,1290,1293],{},"Установленный текстовый редактор (",[48,1288,1289],{},"nano",[48,1291,1292],{},"vim","); если редактора нет, он будет установлен автоматически.",[44,1295,1296],{},"Базовое знание синтаксиса таблиц cron (пять полей времени + команда).",[15,1298,1300],{"id":1299},"пошаговая-инструкция","Пошаговая инструкция",[112,1302,1304],{"id":1303},"шаг-1-установка-и-запуск-cron-сервиса","Шаг 1: Установка и запуск cron-сервиса",[20,1306,1307],{},"Убедитесь, что cron уже установлен. В Debian‑based системах выполните:",[120,1309,1311],{"className":122,"code":1310,"language":124,"meta":125,"style":125},"sudo apt update\nsudo apt install cron\n",[48,1312,1313,1323],{"__ignoreMap":125},[129,1314,1315,1317,1320],{"class":131,"line":132},[129,1316,249],{"class":142},[129,1318,1319],{"class":157}," apt",[129,1321,1322],{"class":157}," update\n",[129,1324,1325,1327,1329,1332],{"class":131,"line":139},[129,1326,249],{"class":142},[129,1328,1319],{"class":157},[129,1330,1331],{"class":157}," install",[129,1333,1334],{"class":157}," cron\n",[20,1336,1337],{},"В RedHat‑based дистрибутивах:",[120,1339,1341],{"className":122,"code":1340,"language":124,"meta":125,"style":125},"sudo yum install cronie\n",[48,1342,1343],{"__ignoreMap":125},[129,1344,1345,1347,1350,1352],{"class":131,"line":132},[129,1346,249],{"class":142},[129,1348,1349],{"class":157}," yum",[129,1351,1331],{"class":157},[129,1353,1354],{"class":157}," cronie\n",[20,1356,1357],{},"Запустите службу и включите автозапуск:",[120,1359,1361],{"className":122,"code":1360,"language":124,"meta":125,"style":125},"sudo systemctl start cron\nsudo systemctl enable cron\n",[48,1362,1363,1375],{"__ignoreMap":125},[129,1364,1365,1367,1370,1373],{"class":131,"line":132},[129,1366,249],{"class":142},[129,1368,1369],{"class":157}," systemctl",[129,1371,1372],{"class":157}," start",[129,1374,1334],{"class":157},[129,1376,1377,1379,1381,1384],{"class":131,"line":139},[129,1378,249],{"class":142},[129,1380,1369],{"class":157},[129,1382,1383],{"class":157}," enable",[129,1385,1334],{"class":157},[20,1387,1388],{},"Проверьте статус:",[120,1390,1392],{"className":122,"code":1391,"language":124,"meta":125,"style":125},"systemctl status cron\n",[48,1393,1394],{"__ignoreMap":125},[129,1395,1396,1399,1402],{"class":131,"line":132},[129,1397,1398],{"class":142},"systemctl",[129,1400,1401],{"class":157}," status",[129,1403,1334],{"class":157},[112,1405,1407],{"id":1406},"шаг-2-редактирование-личной-таблицы-crontab","Шаг 2: Редактирование личной таблицы crontab",[20,1409,1410],{},"Для настройки задач, относящихся к вашему пользователю, отредакруйте таблицу crontab:",[120,1412,1414],{"className":122,"code":1413,"language":124,"meta":125,"style":125},"crontab -e\n",[48,1415,1416],{"__ignoreMap":125},[129,1417,1418,1420],{"class":131,"line":132},[129,1419,788],{"class":142},[129,1421,1422],{"class":146}," -e\n",[20,1424,1425,1426,1428],{},"В первом запуске выберите редактор (например, ",[48,1427,1289],{},"). Добавьте задачу, например, для ежедневного резервного копирования базы данных в 02:00 ночи:",[120,1430,1434],{"className":1431,"code":1433,"language":543},[1432],"language-text","0 2 * * * /path/to/backup.sh >> /var/log/backup.log 2>&1\n",[48,1435,1433],{"__ignoreMap":125},[20,1437,1438],{},"Сохраните файл и выйдите. Таблица cron будет автоматически загружена системой.",[112,1440,1442],{"id":1441},"шаг-3-создание-системной-задачи-в-etccrond","Шаг 3: Создание системной задачи в /etc/cron.d",[20,1444,1445,1446,1449,1450,1453],{},"Системные задачи находятся в ",[48,1447,1448],{},"/etc/cron.d",". Создайте файл, например, ",[48,1451,1452],{},"/etc/cron.d/nightly-cleanup",":",[120,1455,1458],{"className":1456,"code":1457,"language":543},[1432],"# Ежедневная очистка логов в 3:30 ночи\n30 3 * * * root /usr/local/bin/clean_logs.sh >> /var/log/cleanup.log 2>&1\n",[48,1459,1457],{"__ignoreMap":125},[20,1461,1462],{},"Назначьте права для безопасности:",[120,1464,1466],{"className":122,"code":1465,"language":124,"meta":125,"style":125},"chmod 644 /etc/cron.d/nightly-cleanup\n",[48,1467,1468],{"__ignoreMap":125},[129,1469,1470,1472,1475],{"class":131,"line":132},[129,1471,843],{"class":142},[129,1473,1474],{"class":146}," 644",[129,1476,1477],{"class":157}," /etc/cron.d/nightly-cleanup\n",[20,1479,1480,1481,1483],{},"Система будет запускать эти задачи от указанного пользователя (",[48,1482,536],{}," в данном случае) без необходимости редактирования пользовательской таблицы crontab.",[342,1485],{},[112,1487,1489],{"id":1488},"шаг-4-проверка-списка-задач-и-логов","Шаг 4: Проверка списка задач и логов",[20,1491,1492],{},"Чтобы убедиться, что задачи зарегистрированы, выполните:",[120,1494,1496],{"className":122,"code":1495,"language":124,"meta":125,"style":125},"crontab -l          # ваши личные задачи\nls -l /etc/cron.*   # системные таблицы\nls -l /etc/cron.d   # системные задачи\n",[48,1497,1498,1507,1522],{"__ignoreMap":125},[129,1499,1500,1502,1504],{"class":131,"line":132},[129,1501,788],{"class":142},[129,1503,819],{"class":146},[129,1505,1506],{"class":135},"          # ваши личные задачи\n",[129,1508,1509,1511,1513,1516,1519],{"class":131,"line":139},[129,1510,816],{"class":142},[129,1512,819],{"class":146},[129,1514,1515],{"class":157}," /etc/cron.",[129,1517,1518],{"class":146},"*",[129,1520,1521],{"class":135},"   # системные таблицы\n",[129,1523,1524,1526,1528,1531],{"class":131,"line":314},[129,1525,816],{"class":142},[129,1527,819],{"class":146},[129,1529,1530],{"class":157}," /etc/cron.d",[129,1532,1533],{"class":135},"   # системные задачи\n",[20,1535,1536],{},"Отслеживайте работу cron:",[120,1538,1540],{"className":122,"code":1539,"language":124,"meta":125,"style":125},"journalctl -u cron -f   # в системах с systemd\n# или\ngrep CRON /var/log/syslog\n",[48,1541,1542,1556,1561],{"__ignoreMap":125},[129,1543,1544,1546,1548,1550,1553],{"class":131,"line":132},[129,1545,379],{"class":142},[129,1547,252],{"class":146},[129,1549,384],{"class":157},[129,1551,1552],{"class":146}," -f",[129,1554,1555],{"class":135},"   # в системах с systemd\n",[129,1557,1558],{"class":131,"line":139},[129,1559,1560],{"class":135},"# или\n",[129,1562,1563,1565,1568],{"class":131,"line":314},[129,1564,368],{"class":142},[129,1566,1567],{"class":157}," CRON",[129,1569,374],{"class":157},[20,1571,1572,1573,439],{},"Если задача выполняется, в логах появится запись наподобие ",[48,1574,1575],{},"CRON[12345]: (root) CMD ( /path/to/script.sh )",[15,1577,1579],{"id":1578},"проверка-результата","Проверка результата",[63,1581,1582,1589,1596],{},[44,1583,1584,1585,1588],{},"Подождите ближайшее запланированное время выполнения задачи или запустите её принудительно, добавив ",[48,1586,1587],{},"* * * * *"," в тестовом задании.",[44,1590,1591,1592,1595],{},"Проверьте выходные данные: если задача пишет в файл, убедитесь, что файл обновляется (",[48,1593,1594],{},"tail -f /var/log/backup.log",").",[44,1597,1598],{},"Проверьте системные логи, чтобы убедиться, что cron сообщил об успешном выполнении задачи.",[15,1600,1602],{"id":1601},"возможные-проблемы","Возможные проблемы",[41,1604,1605,1614,1623,1636],{},[44,1606,1607,1610,1611,1595],{},[24,1608,1609],{},"Ошибка доступа",": cron не может выполнить задачу, если у скрипта нет прав на выполнение (",[48,1612,1613],{},"chmod +x /path/to/script.sh",[44,1615,1616,1619,1620,439],{},[24,1617,1618],{},"Синтаксис таблицы",": проверьте правильность полей времени и отсутствия лишних пробелов. Ошибки часто скрыты в табуляциях — используйте ",[48,1621,1622],{},"crontab -l | crontab --check",[44,1624,1625,1628,1629,1632,1633,439],{},[24,1626,1627],{},"Задачи не запускаются",": убедитесь, что cron работает (",[48,1630,1631],{},"systemctl status cron","). Перезапустите службу: ",[48,1634,1635],{},"sudo systemctl restart cron",[44,1637,1638,1641,1642,1645,1646,1595],{},[24,1639,1640],{},"Дублирующиеся задачи",": перед добавлением новой задачи проверьте существующие (",[48,1643,1644],{},"crontab -l",") и системные задачи (",[48,1647,1648],{},"ls -l /etc/cron.d",[20,1650,1651],{},"Если задача по-прежнему не работает, запустите cron в отладочном режиме:",[120,1653,1655],{"className":122,"code":1654,"language":124,"meta":125,"style":125},"sudo systemctl status cron\nsudo journalctl -u cron -b\n",[48,1656,1657,1667],{"__ignoreMap":125},[129,1658,1659,1661,1663,1665],{"class":131,"line":132},[129,1660,249],{"class":142},[129,1662,1369],{"class":157},[129,1664,1401],{"class":157},[129,1666,1334],{"class":157},[129,1668,1669,1671,1674,1676,1678],{"class":131,"line":139},[129,1670,249],{"class":142},[129,1672,1673],{"class":157}," journalctl",[129,1675,252],{"class":146},[129,1677,384],{"class":157},[129,1679,1680],{"class":146}," -b\n",[20,1682,1683],{},"Эти команды покажут точную причину сбоя и помогут устранить проблему.",[453,1685,1686],{},"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 .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 .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}",{"title":125,"searchDepth":139,"depth":139,"links":1688},[1689,1690,1691,1697,1698],{"id":1264,"depth":139,"text":1265},{"id":1271,"depth":139,"text":1272},{"id":1299,"depth":139,"text":1300,"children":1692},[1693,1694,1695,1696],{"id":1303,"depth":314,"text":1304},{"id":1406,"depth":314,"text":1407},{"id":1441,"depth":314,"text":1442},{"id":1488,"depth":314,"text":1489},{"id":1578,"depth":139,"text":1579},{"id":1601,"depth":139,"text":1602},"2026-07-12 22:08:31","Узнайте, как настроить cron в Linux: пошаговая инструкция по планированию задач, редактированию таблиц и отладке. Простые советы за 5 минут.",[1702,1705,1708,1711],{"question":1703,"answer":1704},"Как запустить cron-демон в системе?","Используйте `sudo systemctl start cron` (или `sudo service cron start` в старых дистрибутивах).",{"question":1706,"answer":1707},"Как проверить синтаксис таблицы crontab перед сохранением?","Запустите `crontab -l` для просмотра или `crontab -e` для редактирования; после сохранения вы можете проверить синтаксис командой `crontab -l | crontab --check`.",{"question":1709,"answer":1710},"Как настроить задачу, которая записывает вывод в лог-файл?","Добавьте в таблицу crontab строку `*/5 * * * * /path/to/script.sh >> /var/log/script.log 2>&1`.",{"question":1712,"answer":1713},"Как временно отключить конкретную задачу cron?","Закомментируйте её строку в таблице crontab или удалите задачу с помощью `crontab -e` и сохраните пустой файл.",[1715,1718,1721,1724],{"name":1716,"text":1717},"Установка и запуск cron-сервиса","Убедитесь, что cron установлен. В Debian‑based системах выполните `sudo apt install cron`, в RedHat‑based — `sudo yum install cronie`. Запустите службу: `sudo systemctl start cron`. Включите автозапуск: `sudo systemctl enable cron`.",{"name":1719,"text":1720},"Редактирование личной таблицы crontab","Откройте редактор с помощью `crontab -e`. Введите задачу в формате *минута* *час* *день* *месяц* *день_недели* *команда*. Сохраните и выйдите. При первом редактировании вы можете быть предложены выбрать текстовый редактор (например, nano или vim).",{"name":1722,"text":1723},"Создание системной задачи в /etc/cron.d","Создайте файл `/etc/cron.d/myjob` с заданием, указав пользователя с помощью `USER=root`. Назначьте права `chmod 644 /etc/cron.d/myjob`. Система будет читать задачи из этого каталога автоматически.",{"name":1725,"text":1726},"Проверка списка задач и логов","Проверьте активные задачи: `crontab -l`. Просмотрите системные задания: `ls -l /etc/cron.* /etc/cron.d`. Контролируйте работу планировщика: `journalctl -u cron -f` или `grep CRON /var/log/syslog`.",[1728,1729,1730,1731,1732,1733,1734,1735],"настройка cron в Linux","cron job планировщик","таблица cron","запуск cron-сервиса","отладка задач cron","cron daemon Ubuntu 22.04","синтаксис crontab","автоматизация задач cron",{},[1738,1739,1740],"/guides/linux/manage-cron-jobs","/guides/linux/troubleshoot-cron","/guides/linux/automate-backups-with-cron","Гайды Linux",{"title":1255,"description":1700},"guides/linux/configure-cron","Cron — это встроенный планировщик задач в Linux. В этом гайде вы научитесь настраивать cron-задачи, редактировать таблицы и отлаживать проблемы. После выполнения инструкции ваши задачи будут запускаться автоматически.",[518,527,1746,1747,1748],"планирование задач","Ubuntu","гайд","guide","UkUo0nLAjp91WQuFb5S7qKcchtF0QbSvNWid_yeVn8k"]