[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"page-ru-/errors/linux/logrotate-error":3,"mdc--aivd5y-key":854,"mdc-uqpgxx-key":886,"mdc--itm7da-key":910,"mdc-942v22-key":934,"mdc--9fwqhj-key":958,"mdc--ciylsi-key":983,"mdc-s6ll5c-key":999,"mdc-opktrz-key":1015,"mdc--objoty-key":1031,"related-/errors/linux/cron-job-failed,/guides/linux/setup-rsyslog-centralized,/errors/linux/disk-space-full":1047},{"id":4,"title":5,"appliesTo":6,"author":11,"body":12,"canonical":786,"code":787,"createdAt":788,"description":789,"difficulty":790,"draft":791,"estimatedTime":792,"extension":793,"faq":794,"howToSteps":807,"howToTotalTime":823,"image":786,"keywords":824,"locale":835,"meta":836,"navigation":837,"path":838,"platform":839,"related":840,"section":844,"seo":845,"severity":790,"stem":846,"summary":847,"tags":848,"twitterCreator":786,"twitterSite":786,"type":216,"updatedAt":788,"__hash__":853},"content_ru/errors/linux/logrotate-error.md","Ошибка logrotate в Linux: причины и способы исправить",[7,8,9,10],"Ubuntu 20.04+","Debian 11+","CentOS 8/Rocky 8+","logrotate 3.11+","FixPedia Team",{"type":13,"value":14,"toc":775},"minimark",[15,20,29,67,70,74,162,166,174,239,243,250,359,363,369,533,537,547,617,623,626,696,699,703,709,771],[16,17,19],"h2",{"id":18},"что-означает-ошибка-logrotate","Что означает ошибка logrotate",[21,22,23,24,28],"p",{},"Ошибка ",[25,26,27],"strong",{},"logrotate"," — это сбой в работе стандартной утилиты Linux для ротации (архивации и очистки) лог-файлов. Она обычно проявляется одним из следующих способов:",[30,31,32,36,58,61],"ul",{},[33,34,35],"li",{},"Логи не ротируются по расписанию (например, ежедневно или еженедельно).",[33,37,38,39,43,44,47,48],{},"В системном журнале (",[40,41,42],"code",{},"/var/log/syslog"," или ",[40,45,46],{},"/var/log/messages",") появляются записи вида:\n",[49,50,56],"pre",{"className":51,"code":53,"language":54,"meta":55},[52],"language-text","error: error opening /var/log/nginx/access.log: Permission denied\nerror: logrotate failed to rotate /var/log/syslog: No such file or directory\n","text","",[40,57,53],{"__ignoreMap":55},[33,59,60],{},"Ротация происходит, но создаётся некорректный архив (пустой или с нулевым размером).",[33,62,63,64,66],{},"Утилита ",[40,65,27],{}," завершается с ненулевым кодом возврата при ручном запуске.",[21,68,69],{},"Ошибка не критична для работы системы, но может привести к переполнению диска или потере исторических данных логов.",[16,71,73],{"id":72},"причины-возникновения","Причины возникновения",[75,76,77,102,120,133,143],"ol",{},[33,78,79,82,83,85,86,89,90,93,94,97,98,101],{},[25,80,81],{},"Недостаточные права доступа",". Процесс ",[40,84,27],{}," (запускаемый от ",[40,87,88],{},"root"," через ",[40,91,92],{},"cron",") не может прочитать исходный лог-файл или записать сжатый архив из-за неверных прав (",[40,95,96],{},"chmod",") или владельца (",[40,99,100],{},"chown",") файла/каталога.",[33,103,104,107,108,111,112,115,116,119],{},[25,105,106],{},"Ошибки в конфигурации",". Синтаксическая ошибка в файле ",[40,109,110],{},"/etc/logrotate.conf"," или в одном из файлов в ",[40,113,114],{},"/etc/logrotate.d/",". Например, пропущена закрывающая фигурная скобка ",[40,117,118],{},"}"," или указан несуществующий путь.",[33,121,122,125,126,43,129,132],{},[25,123,124],{},"Конфликт с другим процессом",". Другой демон (например, ",[40,127,128],{},"syslog-ng",[40,130,131],{},"rsyslog",") удерживает дескриптор лог-файла в момент попытки его ротации, что вызывает ошибку переименования.",[33,134,135,138,139,142],{},[25,136,137],{},"Отсутствие лог-файла",". В конфигурации указан путь к логу, который был удалён или никогда не создавался, а опция ",[40,140,141],{},"missingok"," не указана.",[33,144,145,150,151,153,154,157,158,161],{},[25,146,147,148],{},"Проблемы с ",[40,149,92],{},". Задание для регулярного запуска ",[40,152,27],{}," отсутствует или не работает (например, из-за проблем в ",[40,155,156],{},"/etc/crontab"," или файлах в ",[40,159,160],{},"/etc/cron.*",").",[16,163,165],{"id":164},"способ-1-диагностика-через-тестовый-запуск","Способ 1: Диагностика через тестовый запуск",[21,167,168,169,173],{},"Это основной и самый информативный способ. Он покажет, что ",[170,171,172],"em",{},"планировалось"," сделать, без реальных изменений.",[75,175,176,211,225],{},[33,177,178,179,206,207,210],{},"Выполните команду тестового прогона:\n",[49,180,184],{"className":181,"code":182,"language":183,"meta":55,"style":55},"language-bash shiki shiki-themes github-light github-dark","sudo logrotate -d /etc/logrotate.conf\n","bash",[40,185,186],{"__ignoreMap":55},[187,188,191,195,199,203],"span",{"class":189,"line":190},"line",1,[187,192,194],{"class":193},"sScJk","sudo",[187,196,198],{"class":197},"sZZnC"," logrotate",[187,200,202],{"class":201},"sj4cs"," -d",[187,204,205],{"class":197}," /etc/logrotate.conf\n","\nФлаг ",[40,208,209],{},"-d"," включает режим отладки.",[33,212,213,214,217,218,43,221,224],{},"Внимательно изучите вывод. Ищите строки со словами ",[40,215,216],{},"error",", ",[40,219,220],{},"ignoring",[40,222,223],{},"reading",". Они укажут на конкретный файл конфигурации и причину.",[33,226,227,228,234,235,238],{},"Пример проблемного вывода:\n",[49,229,232],{"className":230,"code":231,"language":54,"meta":55},[52],"reading config file /etc/logrotate.d/nginx\nreading config file /etc/logrotate.d/nginx\nerror: error opening /var/log/nginx/access.log: Permission denied\nignoring /var/log/nginx/access.log because of error\n",[40,233,231],{"__ignoreMap":55},"\nЗдесь ясно видно, что проблема с правами на файл ",[40,236,237],{},"/var/log/nginx/access.log",".",[16,240,242],{"id":241},"способ-2-проверка-и-исправление-прав-доступа","Способ 2: Проверка и исправление прав доступа",[21,244,245,246,249],{},"Если диагностика указала на ",[40,247,248],{},"Permission denied",":",[75,251,252,289,333],{},[33,253,254,255,271,272,275,276,43,279,282,283,285,286,288],{},"Проверьте владельца и права на проблемный лог-файл и его родительский каталог:\n",[49,256,258],{"className":181,"code":257,"language":183,"meta":55,"style":55},"ls -l /var/log/nginx/\n",[40,259,260],{"__ignoreMap":55},[187,261,262,265,268],{"class":189,"line":190},[187,263,264],{"class":193},"ls",[187,266,267],{"class":201}," -l",[187,269,270],{"class":197}," /var/log/nginx/\n","\nОбычно лог-файлы должны принадлежать пользователю, который их пишет (например, ",[40,273,274],{},"www-data"," для nginx), а группе ",[40,277,278],{},"adm",[40,280,281],{},"syslog",", чтобы ",[40,284,88],{}," (от которого работает ",[40,287,27],{},") имел доступ.",[33,290,291,292,323,326,327,329,330,332],{},"Исправьте права, если нужно. Например, для лога nginx:\n",[49,293,295],{"className":181,"code":294,"language":183,"meta":55,"style":55},"sudo chown www-data:adm /var/log/nginx/access.log\nsudo chmod 640 /var/log/nginx/access.log\n",[40,296,297,310],{"__ignoreMap":55},[187,298,299,301,304,307],{"class":189,"line":190},[187,300,194],{"class":193},[187,302,303],{"class":197}," chown",[187,305,306],{"class":197}," www-data:adm",[187,308,309],{"class":197}," /var/log/nginx/access.log\n",[187,311,313,315,318,321],{"class":189,"line":312},2,[187,314,194],{"class":193},[187,316,317],{"class":197}," chmod",[187,319,320],{"class":201}," 640",[187,322,309],{"class":197},[25,324,325],{},"Важно:"," Не меняйте права на файлы, которые активно пишутся сервисами, без понимания последствий. Лучше всего, если группа ",[40,328,278],{}," (или ",[40,331,281],{},") имеет на них права на чтение.",[33,334,335,336,339,340,342,343],{},"Проверьте права на каталог ",[40,337,338],{},"/var/log/nginx/",". ",[40,341,27],{}," должен иметь право на запись в него для создания архивов:\n",[49,344,346],{"className":181,"code":345,"language":183,"meta":55,"style":55},"sudo chmod 755 /var/log/nginx/\n",[40,347,348],{"__ignoreMap":55},[187,349,350,352,354,357],{"class":189,"line":190},[187,351,194],{"class":193},[187,353,317],{"class":197},[187,355,356],{"class":201}," 755",[187,358,270],{"class":197},[16,360,362],{"id":361},"способ-3-проверка-конфигурационных-файлов","Способ 3: Проверка конфигурационных файлов",[21,364,365,366,368],{},"Если тестовый запуск не выявил ошибок ",[40,367,248],{},", но ротация не происходит:",[75,370,371,409,440],{},[33,372,373,374,406,407,238],{},"Проверьте синтаксис основного файла конфигурации:\n",[49,375,377],{"className":181,"code":376,"language":183,"meta":55,"style":55},"sudo logrotate -d /etc/logrotate.conf 2>&1 | grep -i \"error\\|syntax\"\n",[40,378,379],{"__ignoreMap":55},[187,380,381,383,385,387,390,394,397,400,403],{"class":189,"line":190},[187,382,194],{"class":193},[187,384,198],{"class":197},[187,386,202],{"class":201},[187,388,389],{"class":197}," /etc/logrotate.conf",[187,391,393],{"class":392},"szBVR"," 2>&1",[187,395,396],{"class":392}," |",[187,398,399],{"class":193}," grep",[187,401,402],{"class":201}," -i",[187,404,405],{"class":197}," \"error\\|syntax\"\n","\nИли просто запустите тестовый прогон и найдите ",[40,408,216],{},[33,410,411,412,414,415],{},"Проверьте файлы в ",[40,413,114],{},". Убедитесь, что:\n",[30,416,417,424,427],{},[33,418,419,420,423],{},"Каждый блок правил (для одного сервиса) ",[25,421,422],{},"заканчивается пустой строкой",". Это обязательное требование синтаксиса.",[33,425,426],{},"Пути к лог-файлам указаны корректно и существуют.",[33,428,429,430,217,433,217,436,439],{},"Используются правильные директивы (",[40,431,432],{},"daily",[40,434,435],{},"rotate 7",[40,437,438],{},"compress"," и т.д.).",[33,441,442,443,446,447,530,531,238],{},"Пример корректного файла в ",[40,444,445],{},"/etc/logrotate.d/nginx",":\n",[49,448,452],{"className":449,"code":450,"language":451,"meta":55,"style":55},"language-nginx shiki shiki-themes github-light github-dark","/var/log/nginx/*.log {\n    daily\n    missingok\n    rotate 14\n    compress\n    delaycompress\n    notifempty\n    create 640 www-data adm\n    sharedscripts\n    postrotate\n            [ ! -f /var/run/nginx.pid ] || kill -USR1 `cat /var/run/nginx.pid`\n    endscript\n}\n","nginx",[40,453,454,459,464,470,476,482,488,494,500,506,512,518,524],{"__ignoreMap":55},[187,455,456],{"class":189,"line":190},[187,457,458],{},"/var/log/nginx/*.log {\n",[187,460,461],{"class":189,"line":312},[187,462,463],{},"    daily\n",[187,465,467],{"class":189,"line":466},3,[187,468,469],{},"    missingok\n",[187,471,473],{"class":189,"line":472},4,[187,474,475],{},"    rotate 14\n",[187,477,479],{"class":189,"line":478},5,[187,480,481],{},"    compress\n",[187,483,485],{"class":189,"line":484},6,[187,486,487],{},"    delaycompress\n",[187,489,491],{"class":189,"line":490},7,[187,492,493],{},"    notifempty\n",[187,495,497],{"class":189,"line":496},8,[187,498,499],{},"    create 640 www-data adm\n",[187,501,503],{"class":189,"line":502},9,[187,504,505],{},"    sharedscripts\n",[187,507,509],{"class":189,"line":508},10,[187,510,511],{},"    postrotate\n",[187,513,515],{"class":189,"line":514},11,[187,516,517],{},"            [ ! -f /var/run/nginx.pid ] || kill -USR1 `cat /var/run/nginx.pid`\n",[187,519,521],{"class":189,"line":520},12,[187,522,523],{},"    endscript\n",[187,525,527],{"class":189,"line":526},13,[187,528,529],{},"}\n","\nОбратите внимание на пустую строку после ",[40,532,118],{},[16,534,536],{"id":535},"способ-4-устранение-конфликта-с-процессом","Способ 4: Устранение конфликта с процессом",[21,538,539,540,542,543,546],{},"Если лог-файл используется другим процессом (часто ",[40,541,131],{},"), его ротация может завершиться ошибкой ",[40,544,545],{},"device or resource busy",". Решения:",[75,548,549,582],{},[33,550,551,557,558],{},[25,552,553,554],{},"Используйте опцию ",[40,555,556],{},"copytruncate",". В конфигурации для проблемного лога добавьте эту директиву. Она копирует файл и сразу обнуляет исходный, не требуя перезапуска сервиса. Минус — возможна потеря записей, сделанных во время копирования.\n",[49,559,561],{"className":449,"code":560,"language":451,"meta":55,"style":55},"/var/log/ваш_лог.log {\n    ...\n    copytruncate\n}\n",[40,562,563,568,573,578],{"__ignoreMap":55},[187,564,565],{"class":189,"line":190},[187,566,567],{},"/var/log/ваш_лог.log {\n",[187,569,570],{"class":189,"line":312},[187,571,572],{},"    ...\n",[187,574,575],{"class":189,"line":466},[187,576,577],{},"    copytruncate\n",[187,579,580],{"class":189,"line":472},[187,581,529],{},[33,583,584,590,591,593,594,446,597],{},[25,585,586,587],{},"Используйте скрипт ",[40,588,589],{},"postrotate",". Это предпочтительный способ. В скрипте после ротации отправляйте сигнал демону логгера, чтобы он переоткрыл файл. Пример для ",[40,592,131],{}," (как в конфиге nginx выше) или ",[40,595,596],{},"systemd-journald",[49,598,600],{"className":449,"code":599,"language":451,"meta":55,"style":55},"postrotate\n    journalctl --rotate\nendscript\n",[40,601,602,607,612],{"__ignoreMap":55},[187,603,604],{"class":189,"line":190},[187,605,606],{},"postrotate\n",[187,608,609],{"class":189,"line":312},[187,610,611],{},"    journalctl --rotate\n",[187,613,614],{"class":189,"line":466},[187,615,616],{},"endscript\n",[16,618,620,621],{"id":619},"способ-5-принудительный-запуск-и-проверка-cron","Способ 5: Принудительный запуск и проверка ",[40,622,92],{},[21,624,625],{},"Если конфигурация верна, но ротация по расписанию не происходит:",[75,627,628,657],{},[33,629,630,446,633,206,649,652,653,656],{},[25,631,632],{},"Запустите вручную с принудительной ротацией",[49,634,636],{"className":181,"code":635,"language":183,"meta":55,"style":55},"sudo logrotate -vf /etc/logrotate.conf\n",[40,637,638],{"__ignoreMap":55},[187,639,640,642,644,647],{"class":189,"line":190},[187,641,194],{"class":193},[187,643,198],{"class":197},[187,645,646],{"class":201}," -vf",[187,648,205],{"class":197},[40,650,651],{},"-v"," (verbose) покажет все действия. Флаг ",[40,654,655],{},"-f"," (force) игнорирует условие \"ещё не прошло время для ротации\".",[33,658,659,446,667],{},[25,660,661,662,664,665],{},"Проверьте, что ",[40,663,92],{}," запускает ",[40,666,27],{},[30,668,669,679,685],{},[33,670,671,672,675,676,161],{},"Задание обычно находится в ",[40,673,674],{},"/etc/cron.daily/logrotate"," (симлинк на ",[40,677,678],{},"/usr/sbin/logrotate",[33,680,681,682,238],{},"Убедитесь, что файл исполняем: ",[40,683,684],{},"ls -l /etc/cron.daily/logrotate",[33,686,687,688,691,692,695],{},"Проверьте, работают ли другие задания ",[40,689,690],{},"cron.daily",". Можно посмотреть время последнего изменения файлов в ",[40,693,694],{},"/var/log/"," — они должны обновляться ежедневно.",[697,698],"in-article-ad",{},[16,700,702],{"id":701},"профилактика","Профилактика",[21,704,705,706,708],{},"Чтобы избежать проблем с ",[40,707,27],{}," в будущем:",[75,710,711,721,729,740,758],{},[33,712,713,716,717,720],{},[25,714,715],{},"Всегда используйте тестовый запуск"," (",[40,718,719],{},"logrotate -d",") после внесения изменений в конфигурацию.",[33,722,723,726,727,238],{},[25,724,725],{},"Соблюдайте синтаксис",": пустая строка после каждого блока в ",[40,728,114],{},[33,730,731,734,735,329,737,739],{},[25,732,733],{},"Правильно настраивайте права",". Убедитесь, что группа ",[40,736,278],{},[40,738,281],{},") имеет доступ на чтение ко всем лог-файлам, которые ротируются.",[33,741,742,745,746,748,749,751,752,754,755,161],{},[25,743,744],{},"Для сервисов, пишущих в собственные файлы",", в конфиге ",[40,747,27],{}," используйте ",[40,750,556],{}," или корректный ",[40,753,589],{},"-скрипт с отправкой сигнала (например, ",[40,756,757],{},"kill -USR1",[33,759,760,716,763,766,767,770],{},[25,761,762],{},"Регулярно мониторьте место на диске",[40,764,765],{},"df -h",") и размер логов (",[40,768,769],{},"du -sh /var/log/*","), чтобы убедиться, что ротация происходит эффективно.",[772,773,774],"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 .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}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 .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}",{"title":55,"searchDepth":312,"depth":312,"links":776},[777,778,779,780,781,782,783,785],{"id":18,"depth":312,"text":19},{"id":72,"depth":312,"text":73},{"id":164,"depth":312,"text":165},{"id":241,"depth":312,"text":242},{"id":361,"depth":312,"text":362},{"id":535,"depth":312,"text":536},{"id":619,"depth":312,"text":784},"Способ 5: Принудительный запуск и проверка cron",{"id":701,"depth":312,"text":702},null,"N/A","2026-04-08 13:39:14","Полное руководство по устранению ошибок logrotate. Узнайте, почему ротация логов не работает и как быстро это исправить. Пошаговые инструкции для Ubuntu, CentOS и других дистрибутивов.","medium",false,"10-15 мин","md",[795,798,801,804],{"question":796,"answer":797},"Почему logrotate не ротирует логи, хотя конфиги правильные?","Чаще всего это проблема с правами доступа к лог-файлам или с тем, что демон `cron` не запускает logrotate. Проверьте права на файлы в `/var/log` и задание в `crontab`.",{"question":799,"answer":800},"Как протестировать конфигурацию logrotate без переротации?","Используйте флаг `-d` (debug): `sudo logrotate -d /etc/logrotate.conf`. Это покажет, что планируется сделать, но не внесёт изменений.",{"question":802,"answer":803},"Что делать, если при ротации возникает 'error: error opening /var/log/syslog: Permission denied'?","Это означает, что процесс logrotate (запущенный от root) не может получить доступ к файлу. Проверьте владельца и права лог-файла командой `ls -l /var/log/syslog` и исправьте: `sudo chown syslog:adm /var/log/syslog`.",{"question":805,"answer":806},"Можно ли вручную запустить ротацию для конкретного лога?","Да, используйте `sudo logrotate -f /etc/logrotate.d/ваш-конфиг` или `sudo logrotate -vf /etc/logrotate.conf` для принудительного запуска всей конфигурации в режиме подробного вывода.",[808,811,814,817,820],{"name":809,"text":810},"Проверьте журнал выполнения logrotate","Посмотрите, есть ли записи об ошибках в системном журнале: `sudo grep -i logrotate /var/log/syslog` (Debian/Ubuntu) или `sudo grep -i logrotate /var/log/messages` (RHEL/CentOS).",{"name":812,"text":813},"Запустите диагностический прогон","Выполните тестовый прогон конфигурации без применения изменений: `sudo logrotate -d /etc/logrotate.conf`. В выводе ищите слова 'error' или 'ignoring'.",{"name":815,"text":816},"Проверьте права на лог-файлы и каталоги","Убедитесь, что процесс logrotate (от root) имеет права на чтение/запись в целевые лог-файлы и их родительские каталоги. Используйте `ls -ld /var/log/ваш_лог*`.",{"name":818,"text":819},"Проверьте синтаксис конфигурационных файлов","Убедитесь, что в файлах в `/etc/logrotate.d/` нет синтаксических ошибок. Проверьте, что каждый блок правил заканчивается пустой строкой.",{"name":821,"text":822},"Принудительно выполните ротацию","Если диагностика не помогла, попробуйте принудительный запуск для проблемного лога: `sudo logrotate -vf /etc/logrotate.d/имя_конфига`.","PT15M",[825,826,827,828,829,830,831,832,833,834],"ошибка logrotate linux","logrotate не работает","ротация логов ошибка","logrotate permission denied","как исправить logrotate","logrotate debug","ошибка ротации логов ubuntu","logrotate config error","syslog rotation error","logrotate force","ru_RU",{},true,"/errors/linux/logrotate-error","linux",[841,842,843],"/errors/linux/cron-job-failed","/guides/linux/setup-rsyslog-centralized","/errors/linux/disk-space-full","Ошибки Linux",{"title":5,"description":789},"errors/linux/logrotate-error","Статья объясняет, что вызывает ошибки в утилите logrotate, и предоставляет проверенные способы их устранения — от проверки прав до конфигурации. Вы научитесь диагностировать и навсегда решить проблемы с ротацией логов.",[849,27,850,851,852,92,183],"ошибки linux","sysadmin","логи","monitoring","Yzs-R2rE8nPoB6FRs7tih5KC8TiK6F-kNXdYYuSd1xE",{"data":855,"body":856},{},{"type":88,"children":857},[858],{"type":859,"tag":21,"props":860,"children":861},"element",{},[862,864,869,871,877,879,885],{"type":54,"value":863},"Чаще всего это проблема с правами доступа к лог-файлам или с тем, что демон ",{"type":859,"tag":40,"props":865,"children":867},{"className":866},[],[868],{"type":54,"value":92},{"type":54,"value":870}," не запускает logrotate. Проверьте права на файлы в ",{"type":859,"tag":40,"props":872,"children":874},{"className":873},[],[875],{"type":54,"value":876},"/var/log",{"type":54,"value":878}," и задание в ",{"type":859,"tag":40,"props":880,"children":882},{"className":881},[],[883],{"type":54,"value":884},"crontab",{"type":54,"value":238},{"data":887,"body":888},{},{"type":88,"children":889},[890],{"type":859,"tag":21,"props":891,"children":892},{},[893,895,900,902,908],{"type":54,"value":894},"Используйте флаг ",{"type":859,"tag":40,"props":896,"children":898},{"className":897},[],[899],{"type":54,"value":209},{"type":54,"value":901}," (debug): ",{"type":859,"tag":40,"props":903,"children":905},{"className":904},[],[906],{"type":54,"value":907},"sudo logrotate -d /etc/logrotate.conf",{"type":54,"value":909},". Это покажет, что планируется сделать, но не внесёт изменений.",{"data":911,"body":912},{},{"type":88,"children":913},[914],{"type":859,"tag":21,"props":915,"children":916},{},[917,919,925,927,933],{"type":54,"value":918},"Это означает, что процесс logrotate (запущенный от root) не может получить доступ к файлу. Проверьте владельца и права лог-файла командой ",{"type":859,"tag":40,"props":920,"children":922},{"className":921},[],[923],{"type":54,"value":924},"ls -l /var/log/syslog",{"type":54,"value":926}," и исправьте: ",{"type":859,"tag":40,"props":928,"children":930},{"className":929},[],[931],{"type":54,"value":932},"sudo chown syslog:adm /var/log/syslog",{"type":54,"value":238},{"data":935,"body":936},{},{"type":88,"children":937},[938],{"type":859,"tag":21,"props":939,"children":940},{},[941,943,949,950,956],{"type":54,"value":942},"Да, используйте ",{"type":859,"tag":40,"props":944,"children":946},{"className":945},[],[947],{"type":54,"value":948},"sudo logrotate -f /etc/logrotate.d/ваш-конфиг",{"type":54,"value":43},{"type":859,"tag":40,"props":951,"children":953},{"className":952},[],[954],{"type":54,"value":955},"sudo logrotate -vf /etc/logrotate.conf",{"type":54,"value":957}," для принудительного запуска всей конфигурации в режиме подробного вывода.",{"data":959,"body":960},{},{"type":88,"children":961},[962],{"type":859,"tag":21,"props":963,"children":964},{},[965,967,973,975,981],{"type":54,"value":966},"Посмотрите, есть ли записи об ошибках в системном журнале: ",{"type":859,"tag":40,"props":968,"children":970},{"className":969},[],[971],{"type":54,"value":972},"sudo grep -i logrotate /var/log/syslog",{"type":54,"value":974}," (Debian/Ubuntu) или ",{"type":859,"tag":40,"props":976,"children":978},{"className":977},[],[979],{"type":54,"value":980},"sudo grep -i logrotate /var/log/messages",{"type":54,"value":982}," (RHEL/CentOS).",{"data":984,"body":985},{},{"type":88,"children":986},[987],{"type":859,"tag":21,"props":988,"children":989},{},[990,992,997],{"type":54,"value":991},"Выполните тестовый прогон конфигурации без применения изменений: ",{"type":859,"tag":40,"props":993,"children":995},{"className":994},[],[996],{"type":54,"value":907},{"type":54,"value":998},". В выводе ищите слова 'error' или 'ignoring'.",{"data":1000,"body":1001},{},{"type":88,"children":1002},[1003],{"type":859,"tag":21,"props":1004,"children":1005},{},[1006,1008,1014],{"type":54,"value":1007},"Убедитесь, что процесс logrotate (от root) имеет права на чтение/запись в целевые лог-файлы и их родительские каталоги. Используйте ",{"type":859,"tag":40,"props":1009,"children":1011},{"className":1010},[],[1012],{"type":54,"value":1013},"ls -ld /var/log/ваш_лог*",{"type":54,"value":238},{"data":1016,"body":1017},{},{"type":88,"children":1018},[1019],{"type":859,"tag":21,"props":1020,"children":1021},{},[1022,1024,1029],{"type":54,"value":1023},"Убедитесь, что в файлах в ",{"type":859,"tag":40,"props":1025,"children":1027},{"className":1026},[],[1028],{"type":54,"value":114},{"type":54,"value":1030}," нет синтаксических ошибок. Проверьте, что каждый блок правил заканчивается пустой строкой.",{"data":1032,"body":1033},{},{"type":88,"children":1034},[1035],{"type":859,"tag":21,"props":1036,"children":1037},{},[1038,1040,1046],{"type":54,"value":1039},"Если диагностика не помогла, попробуйте принудительный запуск для проблемного лога: ",{"type":859,"tag":40,"props":1041,"children":1043},{"className":1042},[],[1044],{"type":54,"value":1045},"sudo logrotate -vf /etc/logrotate.d/имя_конфига",{"type":54,"value":238},[1048,1734],{"id":1049,"title":1050,"appliesTo":1051,"author":11,"body":1056,"canonical":786,"code":55,"createdAt":1675,"description":1676,"difficulty":790,"draft":791,"estimatedTime":1677,"extension":793,"faq":1678,"howToSteps":1691,"howToTotalTime":823,"image":786,"keywords":1710,"locale":835,"meta":1721,"navigation":837,"path":841,"platform":839,"related":1722,"section":844,"seo":1726,"severity":790,"stem":1727,"summary":1728,"tags":1729,"twitterCreator":786,"twitterSite":786,"type":216,"updatedAt":1675,"__hash__":1733},"content_ru/errors/linux/cron-job-failed.md","Ошибка Cron Job Failed: причины и способы исправления в Linux",[1052,1053,1054,1055],"Ubuntu 18.04+","Debian 9+","CentOS 7+","Fedora 30+",{"type":13,"value":1057,"toc":1660},[1058,1062,1072,1074,1077,1165,1169,1174,1177,1184,1214,1220,1242,1245,1249,1256,1259,1265,1268,1282,1293,1307,1310,1324,1327,1331,1342,1358,1361,1370,1373,1377,1380,1392,1395,1401,1408,1427,1430,1434,1454,1457,1463,1466,1472,1475,1479,1482,1509,1519,1521,1525,1532,1538,1545,1549,1555,1561,1564,1570,1577,1579,1582,1657],[16,1059,1061],{"id":1060},"что-означает-ошибка-cron-job-failed","Что означает ошибка 'Cron Job Failed'",[21,1063,23,1064,1067,1068,1071],{},[25,1065,1066],{},"\"Cron Job Failed\""," — это общее сообщение от ",[25,1069,1070],{},"cron-демона",", указывающее, что запланированная задача не была выполнена успешно. Обычно она сопровождается более детальным сообщением в логах или уведомлением по email (если настроено). Ошибка возникает, когда команда или скрипт, указанный в crontab, завершается с ненулевым кодом возврата или не может быть запущена из-за проблем с доступом, путями или окружением. Типичные симптомы: задача не выполняется по расписанию, в логах появляются записи с \"failed\" или \"error\", а пользователь получает email с текстом ошибки.",[16,1073,73],{"id":72},[21,1075,1076],{},"Конкретные причины ошибки \"Cron Job Failed\" включают:",[75,1078,1079,1089,1095,1101,1115,1121,1127,1133,1139,1149],{},[33,1080,1081,1084,1085,1088],{},[25,1082,1083],{},"Неправильный путь к скрипту или команде",": В crontab указан относительный путь (например, ",[40,1086,1087],{},"./script.sh",") или путь к несуществующему файлу. Cron не интерпретирует относительные пути от текущей директории.",[33,1090,1091,1094],{},[25,1092,1093],{},"Отсутствие прав на выполнение",": Скрипт не имеет execute-права (x) для пользователя, от которого запускается cron. Это частая проблема при копировании файлов или изменении владельца.",[33,1096,1097,1100],{},[25,1098,1099],{},"Ошибки в самом скрипте",": Синтаксические ошибки (например, в bash-скрипте), отсутствие зависимостей (установленных пакетов или модулей), ошибки времени выполнения (деление на ноль, отсутствие файлов) или некорректный код возврата.",[33,1102,1103,1106,1107,1110,1111,1114],{},[25,1104,1105],{},"Ограниченное окружение cron",": Cron имеет минимальный набор переменных окружения (например, PATH часто ограничен ",[40,1108,1109],{},"/usr/bin:/bin","). Если скрипт использует команды, находящиеся в ",[40,1112,1113],{},"/usr/local/bin"," или других каталогах, они не будут найдены, что вызовет \"command not found\".",[33,1116,1117,1120],{},[25,1118,1119],{},"Недостаток ресурсов",": Система может исчерпать память, место на диске или достичь лимитов процессов (ulimit), что приведет к прерыванию задачи.",[33,1122,1123,1126],{},[25,1124,1125],{},"Неправильный формат crontab",": Синтаксис расписания (пять полей для времени) указан неверно, что приводит к игнорированию строки или неожиданному выполнению.",[33,1128,1129,1132],{},[25,1130,1131],{},"Конфликты с другими процессами",": Если задача длительная, а cron настроен на частые запуски, могут возникать конфликты из-за одновременного доступа к ресурсам (файлам, сокетам).",[33,1134,1135,1138],{},[25,1136,1137],{},"Проблемы с правами доступа к директориям",": Пользователь cron должен иметь execute-право на все родительские директории в пути к скрипту, иначе доступ будет запрещен.",[33,1140,1141,1144,1145,1148],{},[25,1142,1143],{},"Ошибка в shebang строке скрипта",": Если первая строка скрипта (например, ",[40,1146,1147],{},"#!/bin/bash",") указывает на несуществующий интерпретатор, cron не сможет его запустить.",[33,1150,1151,1154,1155,43,1158,1161,1162,238],{},[25,1152,1153],{},"Системные ограничения",": В некоторых дистрибутивах cron может быть отключен для пользователей (настройки в ",[40,1156,1157],{},"/etc/cron.allow",[40,1159,1160],{},"/etc/cron.deny","), или задача может превышать лимиты, заданные в ",[40,1163,1164],{},"/etc/security/limits.conf",[16,1166,1168],{"id":1167},"способы-решения","Способы решения",[1170,1171,1173],"h3",{"id":1172},"способ-1-анализ-логов-cron","Способ 1: Анализ логов cron",[21,1175,1176],{},"Первым шагом всегда является проверка логов cron, чтобы получить точное сообщение об ошибке. Логи содержат детали, которые указывают на конкретную причину.",[21,1178,1179,1180,1183],{},"Для систем с ",[25,1181,1182],{},"systemd"," (Ubuntu 16.04+, CentOS 7+, Fedora):",[49,1185,1187],{"className":181,"code":1186,"language":183,"meta":55,"style":55},"journalctl -u cron -b --no-pager | tail -50\n",[40,1188,1189],{"__ignoreMap":55},[187,1190,1191,1194,1197,1200,1203,1206,1208,1211],{"class":189,"line":190},[187,1192,1193],{"class":193},"journalctl",[187,1195,1196],{"class":201}," -u",[187,1198,1199],{"class":197}," cron",[187,1201,1202],{"class":201}," -b",[187,1204,1205],{"class":201}," --no-pager",[187,1207,396],{"class":392},[187,1209,1210],{"class":193}," tail",[187,1212,1213],{"class":201}," -50\n",[21,1215,1216,1217,1219],{},"Или для ",[25,1218,281],{}," (традиционные Debian/Ubuntu):",[49,1221,1223],{"className":181,"code":1222,"language":183,"meta":55,"style":55},"grep CRON /var/log/syslog | tail -50\n",[40,1224,1225],{"__ignoreMap":55},[187,1226,1227,1230,1233,1236,1238,1240],{"class":189,"line":190},[187,1228,1229],{"class":193},"grep",[187,1231,1232],{"class":197}," CRON",[187,1234,1235],{"class":197}," /var/log/syslog",[187,1237,396],{"class":392},[187,1239,1210],{"class":193},[187,1241,1213],{"class":201},[21,1243,1244],{},"В выводе ищите строки с вашей задачей (по времени или имени скрипта) и кодом ошибки, например, \"No such file or directory\" или \"Permission denied\". Это сразу сузит круг проблем.",[1170,1246,1248],{"id":1247},"способ-2-корректировка-путей-и-прав-доступа","Способ 2: Корректировка путей и прав доступа",[21,1250,1251,1252,1255],{},"Убедитесь, что в crontab указан ",[25,1253,1254],{},"абсолютный путь"," к скрипту или команде. Относительные пути не работают в cron.",[21,1257,1258],{},"Пример правильной записи:",[49,1260,1263],{"className":1261,"code":1262,"language":54},[52],"* * * * * /home/user/scripts/backup.sh\n",[40,1264,1262],{"__ignoreMap":55},[21,1266,1267],{},"Проверьте существование файла и прав доступа:",[49,1269,1271],{"className":181,"code":1270,"language":183,"meta":55,"style":55},"ls -l /home/user/scripts/backup.sh\n",[40,1272,1273],{"__ignoreMap":55},[187,1274,1275,1277,1279],{"class":189,"line":190},[187,1276,264],{"class":193},[187,1278,267],{"class":201},[187,1280,1281],{"class":197}," /home/user/scripts/backup.sh\n",[21,1283,1284,1285,1288,1289,1292],{},"Вывод должен включать ",[40,1286,1287],{},"x"," для владельца/группы/других (например, ",[40,1290,1291],{},"-rwxr--r--","). Если права отсутствуют, добавьте:",[49,1294,1296],{"className":181,"code":1295,"language":183,"meta":55,"style":55},"chmod +x /home/user/scripts/backup.sh\n",[40,1297,1298],{"__ignoreMap":55},[187,1299,1300,1302,1305],{"class":189,"line":190},[187,1301,96],{"class":193},[187,1303,1304],{"class":197}," +x",[187,1306,1281],{"class":197},[21,1308,1309],{},"Также проверьте права на родительские директории:",[49,1311,1313],{"className":181,"code":1312,"language":183,"meta":55,"style":55},"namei -l /home/user/scripts/backup.sh\n",[40,1314,1315],{"__ignoreMap":55},[187,1316,1317,1320,1322],{"class":189,"line":190},[187,1318,1319],{"class":193},"namei",[187,1321,267],{"class":201},[187,1323,1281],{"class":197},[21,1325,1326],{},"Все компоненты пути должны иметь execute-право (x) для пользователя cron.",[1170,1328,1330],{"id":1329},"способ-3-ручное-тестирование-скрипта","Способ 3: Ручное тестирование скрипта",[21,1332,1333,1334,1337,1338,1341],{},"Запустите скрипт из командной строки ",[25,1335,1336],{},"от того же пользователя",", что и cron. Если cron настроен для пользователя ",[40,1339,1340],{},"user",", выполните:",[49,1343,1345],{"className":181,"code":1344,"language":183,"meta":55,"style":55},"sudo -u user /home/user/scripts/backup.sh\n",[40,1346,1347],{"__ignoreMap":55},[187,1348,1349,1351,1353,1356],{"class":189,"line":190},[187,1350,194],{"class":193},[187,1352,1196],{"class":201},[187,1354,1355],{"class":197}," user",[187,1357,1281],{"class":197},[21,1359,1360],{},"Или, если вы уже вошли под этим пользователем:",[49,1362,1364],{"className":181,"code":1363,"language":183,"meta":55,"style":55},"/home/user/scripts/backup.sh\n",[40,1365,1366],{"__ignoreMap":55},[187,1367,1368],{"class":189,"line":190},[187,1369,1363],{"class":193},[21,1371,1372],{},"Если скрипт требует переменных окружения (например, PATH, HOME, или пользовательские переменные), экспортируйте их перед запуском или настройте в crontab (см. Способ 5). Ручной запуск выявит синтаксические ошибки или отсутствующие зависимости.",[1170,1374,1376],{"id":1375},"способ-4-проверка-синтаксиса-crontab","Способ 4: Проверка синтаксиса crontab",[21,1378,1379],{},"Откройте crontab для редактирования:",[49,1381,1383],{"className":181,"code":1382,"language":183,"meta":55,"style":55},"crontab -e\n",[40,1384,1385],{"__ignoreMap":55},[187,1386,1387,1389],{"class":189,"line":190},[187,1388,884],{"class":193},[187,1390,1391],{"class":201}," -e\n",[21,1393,1394],{},"Убедитесь, что каждая строка соответствует формату:",[49,1396,1399],{"className":1397,"code":1398,"language":54},[52],"минуты часы день_месяца месяц день_недели команда\n",[40,1400,1398],{"__ignoreMap":55},[21,1402,1403,1404,1407],{},"Например, ",[40,1405,1406],{},"* * * * *"," означает \"каждую минуту\". Распространенные ошибки: использование недопустимых значений (например, 70 для минут), пропуск полей, лишние пробелы. Для валидации можно использовать онлайн-валидаторы или команду:",[49,1409,1411],{"className":181,"code":1410,"language":183,"meta":55,"style":55},"crontab -l | crontab -\n",[40,1412,1413],{"__ignoreMap":55},[187,1414,1415,1417,1419,1421,1424],{"class":189,"line":190},[187,1416,884],{"class":193},[187,1418,267],{"class":201},[187,1420,396],{"class":392},[187,1422,1423],{"class":193}," crontab",[187,1425,1426],{"class":197}," -\n",[21,1428,1429],{},"Если синтаксис некорректен, crontab отклонит изменения.",[1170,1431,1433],{"id":1432},"способ-5-настройка-переменных-окружения","Способ 5: Настройка переменных окружения",[21,1435,1436,1437,217,1440,217,1443,1446,1447,1449,1450,1453],{},"Cron запускает задачи с минимальным окружением (обычно только ",[40,1438,1439],{},"HOME",[40,1441,1442],{},"LOGNAME",[40,1444,1445],{},"PATH=/usr/bin:/bin","). Если скрипт использует команды из ",[40,1448,1113],{}," или другие переменные (например, ",[40,1451,1452],{},"JAVA_HOME","), задайте их в crontab.",[21,1455,1456],{},"Добавьте в начало crontab:",[49,1458,1461],{"className":1459,"code":1460,"language":54},[52],"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\nHOME=/home/user\n",[40,1462,1460],{"__ignoreMap":55},[21,1464,1465],{},"Или для конкретного скрипта:",[49,1467,1470],{"className":1468,"code":1469,"language":54},[52],"* * * * * . $HOME/.profile; /home/user/scripts/backup.sh\n",[40,1471,1469],{"__ignoreMap":55},[21,1473,1474],{},"В самом скрипте также можно задавать переменные явно.",[1170,1476,1478],{"id":1477},"способ-6-проверка-ресурсов-и-лимитов","Способ 6: Проверка ресурсов и лимитов",[21,1480,1481],{},"Убедитесь, что у пользователя достаточно ресурсов. Проверьте квоты диска и память:",[49,1483,1485],{"className":181,"code":1484,"language":183,"meta":55,"style":55},"df -h  # свободное место на диске\nfree -h  # доступная память\n",[40,1486,1487,1499],{"__ignoreMap":55},[187,1488,1489,1492,1495],{"class":189,"line":190},[187,1490,1491],{"class":193},"df",[187,1493,1494],{"class":201}," -h",[187,1496,1498],{"class":1497},"sJ8bj","  # свободное место на диске\n",[187,1500,1501,1504,1506],{"class":189,"line":312},[187,1502,1503],{"class":193},"free",[187,1505,1494],{"class":201},[187,1507,1508],{"class":1497},"  # доступная память\n",[21,1510,1511,1512,1514,1515,1518],{},"Также проверьте лимиты процессов для пользователя в ",[40,1513,1164],{}," или через ",[40,1516,1517],{},"ulimit -a"," (при запуске от этого пользователя). Если задача требует много памяти или процессов, увеличьте лимиты.",[697,1520],{},[1170,1522,1524],{"id":1523},"способ-7-блокировка-параллельных-запусков","Способ 7: Блокировка параллельных запусков",[21,1526,1527,1528,1531],{},"Если задача выполняется дольше интервала cron, могут возникать конфликты из-за параллельных экземпляров. Используйте утилиту ",[40,1529,1530],{},"flock"," для создания блокировки:",[49,1533,1536],{"className":1534,"code":1535,"language":54},[52],"* * * * * flock -n /tmp/backup.lock /home/user/scripts/backup.sh\n",[40,1537,1535],{"__ignoreMap":55},[21,1539,1540,1541,1544],{},"Опция ",[40,1542,1543],{},"-n"," предотвращает ожидание, если блокировка уже удерживается, и задача пропускается. Это гарантирует, что только один экземпляр скрипта работает одновременно.",[1170,1546,1548],{"id":1547},"способ-8-включение-уведомлений-об-ошибках","Способ 8: Включение уведомлений об ошибках",[21,1550,1551,1552,249],{},"Настройте отправку email при ошибках, чтобы оперативно узнавать о проблемах. В crontab укажите переменную ",[40,1553,1554],{},"MAILTO",[49,1556,1559],{"className":1557,"code":1558,"language":54},[52],"MAILTO=user@example.com\n* * * * * /home/user/scripts/backup.sh\n",[40,1560,1558],{"__ignoreMap":55},[21,1562,1563],{},"Убедитесь, что на системе настроен MTA (например, Postfix или Sendmail). Если email не требуется, но нужно логировать, перенаправьте вывод в файл:",[49,1565,1568],{"className":1566,"code":1567,"language":54},[52],"* * * * * /home/user/scripts/backup.sh > /var/log/backup.log 2>&1\n",[40,1569,1567],{"__ignoreMap":55},[21,1571,1572,1573,1576],{},"Избегайте перенаправления в ",[40,1574,1575],{},"/dev/null"," в продакшене, так как это скроет ошибки.",[16,1578,702],{"id":701},[21,1580,1581],{},"Чтобы избежать повторения ошибки \"Cron Job Failed\":",[30,1583,1584,1590,1600,1606,1612,1622,1628,1637,1643],{},[33,1585,1586,1589],{},[25,1587,1588],{},"Всегда используйте абсолютные пути"," в crontab для скриптов и команд.",[33,1591,1592,1595,1596,1599],{},[25,1593,1594],{},"Устанавливайте права на выполнение"," для скриптов (",[40,1597,1598],{},"chmod +x",") и проверяйте права на родительские директории.",[33,1601,1602,1605],{},[25,1603,1604],{},"Тестируйте скрипты вручную"," от пользователя cron перед добавлением в crontab, включая проверку зависимостей.",[33,1607,1608,1611],{},[25,1609,1610],{},"Явно задавайте переменные окружения"," в crontab (PATH, HOME) или внутри скриптов, особенно если используются нестандартные команды.",[33,1613,1614,716,1617,43,1619,1621],{},[25,1615,1616],{},"Регулярно проверяйте логи cron",[40,1618,42],{},[40,1620,1193],{},") на наличие ошибок, даже если задачи, кажется, работают.",[33,1623,1624,1627],{},[25,1625,1626],{},"Настраивайте уведомления по email"," для важных задач, чтобы быстро реагировать на сбои.",[33,1629,1630,1633,1634,1636],{},[25,1631,1632],{},"Используйте механизмы блокировки"," (например, ",[40,1635,1530],{},") для длительных задач, чтобы предотвратить параллельные запуски.",[33,1638,1639,1642],{},[25,1640,1641],{},"Документируйте crontab"," с комментариями, объясняющими назначение каждой задачи и ожидаемые результаты.",[33,1644,1645,1648,1649,1652,1653,1656],{},[25,1646,1647],{},"При обновлении системы"," проверяйте, не изменились ли пути к интерпретаторам (например, ",[40,1650,1651],{},"/bin/bash"," vs ",[40,1654,1655],{},"/usr/bin/bash",") или зависимости.",[772,1658,1659],{},"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 .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}",{"title":55,"searchDepth":312,"depth":312,"links":1661},[1662,1663,1664,1674],{"id":1060,"depth":312,"text":1061},{"id":72,"depth":312,"text":73},{"id":1167,"depth":312,"text":1168,"children":1665},[1666,1667,1668,1669,1670,1671,1672,1673],{"id":1172,"depth":466,"text":1173},{"id":1247,"depth":466,"text":1248},{"id":1329,"depth":466,"text":1330},{"id":1375,"depth":466,"text":1376},{"id":1432,"depth":466,"text":1433},{"id":1477,"depth":466,"text":1478},{"id":1523,"depth":466,"text":1524},{"id":1547,"depth":466,"text":1548},{"id":701,"depth":312,"text":702},"2026-02-16 19:55:51","Подробное руководство по исправлению ошибки 'Cron Job Failed' в Linux. Узнайте, как диагностировать и решать проблемы с cron-задачами. Пошаговые инструкции для быстрого восстановления автоматизации.","10-20 мин",[1679,1682,1685,1688],{"answer":1680,"question":1681},"Ошибка обычно возникает из-за неправильного пути к скрипту, отсутствия прав выполнения или ошибок в самом скрипте. Проверьте логи cron для деталей.","Почему cron-задача завершается с ошибкой 'Cron Job Failed'?",{"answer":1683,"question":1684},"Используйте команду `grep CRON /var/log/syslog` на Debian/Ubuntu или `journalctl -u cron` на systemd-системах для просмотра последних записей.","Как проверить логи cron для диагностики ошибки?",{"answer":1686,"question":1687},"Да, перенаправив вывод stderr в /dev/null в crontab, например: `* * * * * /script.sh 2>/dev/null`, но это скроет возможные проблемы и не рекомендуется для продакшена.","Можно ли отключить уведомления об ошибках cron?",{"answer":1689,"question":1690},"Проверьте права на скрипт и убедитесь, что пользователь имеет доступ к исполнению. Также cron имеет ограниченное окружение, так что укажите полные пути к командам.","Почему cron работает от root, но не от обычного пользователя?",[1692,1695,1698,1701,1704,1707],{"name":1693,"text":1694},"Проверьте логи cron","Используйте команду `grep CRON /var/log/syslog` или `journalctl -u cron` для просмотра последних записей и определения причины ошибки.",{"name":1696,"text":1697},"Убедитесь в правильности пути к скрипту","В crontab укажите абсолютный путь к скрипту, например, `/home/user/script.sh`, и проверьте, что файл существует и доступен.",{"name":1699,"text":1700},"Проверьте права доступа к скрипту","Сделайте скрипт исполняемым: `chmod +x /path/to/script.sh`. Также убедитесь, что пользователь cron имеет права на чтение и выполнение.",{"name":1702,"text":1703},"Проверьте синтаксис crontab","Убедитесь, что расписание указано корректно. Используйте `crontab -l` для просмотра и `crontab -e` для редактирования.",{"name":1705,"text":1706},"Протестируйте скрипт вручную","Запустите скрипт из командной строки от того же пользователя, что и cron, чтобы проверить наличие ошибок.",{"name":1708,"text":1709},"Настройте переменные окружения","Если скрипт зависит от переменных окружения, задайте их в crontab или в самом скрипте, так как cron имеет минимальное окружение.",[1711,1712,1713,1714,1715,1716,1717,1718,1719,1720],"cron job failed","ошибка cron linux","задача cron не выполняется","как исправить cron ошибку","crontab ошибка","cron daemon failed","настройка cron linux","cron задача завершилась с ошибкой","cron job error","linux cron не работает",{},[1723,1724,1725],"/errors/linux/cron-permission-denied","/guides/linux/setup-cron-job","/errors/linux/cron-syntax-error",{"title":1050,"description":1676},"errors/linux/cron-job-failed","Статья объясняет, почему cron-задачи завершаются с ошибкой 'Cron Job Failed', и предоставляет практические шаги по диагностике, включая проверку логов, прав доступа и синтаксиса, для восстановления работы автоматических заданий.",[92,839,1730,1731,850,884,183,1732],"ошибки","автоматизация","задачи","AUqHDwVlViKdX2xGO45vwjXVzaOHrdR898E8b8bwRmA",{"id":1735,"title":1736,"appliesTo":1737,"author":11,"body":1739,"canonical":786,"code":787,"createdAt":2501,"description":2502,"difficulty":2503,"draft":791,"estimatedTime":2504,"extension":793,"faq":2505,"howToSteps":2518,"howToTotalTime":2534,"image":786,"keywords":2535,"locale":835,"meta":2544,"navigation":837,"path":843,"platform":839,"related":2545,"section":844,"seo":2549,"severity":2550,"stem":2551,"summary":2552,"tags":2553,"twitterCreator":786,"twitterSite":786,"type":216,"updatedAt":2501,"__hash__":2555},"content_ru/errors/linux/disk-space-full.md","Ошибка «Диск заполнен» в Linux: причины и способы освобождения места",[1738],"Все дистрибутивы Linux (Ubuntu, CentOS, Debian, RHEL)",{"type":13,"value":1740,"toc":2489},[1741,1745,1751,1754,1768,1775,1777,1850,1852,1856,1859,1952,1966,1970,1973,2120,2124,2130,2200,2204,2213,2292,2296,2299,2339,2347,2349,2486],[16,1742,1744],{"id":1743},"что-означает-ошибка-диск-заполнен","Что означает ошибка «Диск заполнен»",[21,1746,23,1747,1750],{},[25,1748,1749],{},"«No space left on device»"," (на русском часто отображается как «Нет свободного места на устройстве» или просто «Диск заполнен») — критическое состояние, когда на выбранном разделе диска закончилось свободное место для записи.",[21,1752,1753],{},"Симптомы:",[30,1755,1756,1759,1762,1765],{},[33,1757,1758],{},"Невозможность создания новых файлов, даже в домашней директории.",[33,1760,1761],{},"Сбои в работе служб (например, веб-сервер не может записать логи, база данных — создавать дампы).",[33,1763,1764],{},"Ошибки при установке/обновлении пакетов.",[33,1766,1767],{},"В некоторых случаях система может стать неотзывчивой.",[21,1769,1770,1771,1774],{},"Ошибка возникает на уровне ядра Linux (errno ",[40,1772,1773],{},"ENOSPC",") и не зависит от конкретного приложения — любая операция записи завершится с этим кодом, если место действительно исчерпано.",[16,1776,73],{"id":72},[75,1778,1779,1795,1812,1822,1835,1841],{},[33,1780,1781,1784,1785,1787,1788,1791,1792,161],{},[25,1782,1783],{},"Накопление логических файлов",": Большие файлы логов (",[40,1786,694],{},"), кеш приложений (",[40,1789,1790],{},"~/.cache/","), базы данных, файлы дампов, временные файлы (",[40,1793,1794],{},"/tmp/",[33,1796,1797,1800,1801,1804,1805,1807,1808,1811],{},[25,1798,1799],{},"Удалённые, но ещё открытые файлы (deleted but open)",": Файл удалён командой ",[40,1802,1803],{},"rm",", но процесс продолжает на него писать, занимая место. ",[40,1806,1491],{}," покажет место занятым, а ",[40,1809,1810],{},"du"," по каталогам — нет.",[33,1813,1814,1817,1818,1821],{},[25,1815,1816],{},"Разрастание кеша пакетного менеджера",": Накопление старых версий пакетов в кеше APT (",[40,1819,1820],{},"/var/cache/apt/archives/",") или DNF/YUM.",[33,1823,1824,1827,1828,43,1831,1834],{},[25,1825,1826],{},"Слишком маленький выделенный размер раздела",": Раздел, например, для ",[40,1829,1830],{},"/var/",[40,1832,1833],{},"/home/",", изначально был создан с недостаточным объёмом.",[33,1836,1837,1840],{},[25,1838,1839],{},"«Тени» (shadow) файловые системы (если используется LVM, Btrfs, ZFS)",": Снапшоты (снимки) могут занимать значительное место, так как хранят изменения относительно исходного состояния.",[33,1842,1843,1846,1847,238],{},[25,1844,1845],{},"Файлы с большим количеством inodes",": Хотя это другая проблема (исчерпание inodes), её симптомы могут быть похожи. Проверяется командой ",[40,1848,1849],{},"df -i",[16,1851,1168],{"id":1167},[1170,1853,1855],{"id":1854},"способ-1-диагностика-и-быстрая-очистка-кеша-пакетного-менеджера","Способ 1: Диагностика и быстрая очистка кеша пакетного менеджера",[21,1857,1858],{},"Это первый и часто самый эффективный шаг на серверах и десктопах.",[75,1860,1861,1886,1946],{},[33,1862,1863,1864,1876,1879,1880,43,1883,161],{},"Определите, какой раздел заполнен:",[49,1865,1867],{"className":181,"code":1866,"language":183,"meta":55,"style":55},"df -h\n",[40,1868,1869],{"__ignoreMap":55},[187,1870,1871,1873],{"class":189,"line":190},[187,1872,1491],{"class":193},[187,1874,1875],{"class":201}," -h\n",[1877,1878],"br",{},"Найдите строку с 100% использованием (например, ",[40,1881,1882],{},"/dev/sda1",[40,1884,1885],{},"/",[33,1887,1888,1889,1916,1918,1919],{},"Очистите кеш APT (Ubuntu/Debian):",[49,1890,1892],{"className":181,"code":1891,"language":183,"meta":55,"style":55},"sudo apt clean\nsudo apt autoremove --purge\n",[40,1893,1894,1904],{"__ignoreMap":55},[187,1895,1896,1898,1901],{"class":189,"line":190},[187,1897,194],{"class":193},[187,1899,1900],{"class":197}," apt",[187,1902,1903],{"class":197}," clean\n",[187,1905,1906,1908,1910,1913],{"class":189,"line":312},[187,1907,194],{"class":193},[187,1909,1900],{"class":197},[187,1911,1912],{"class":197}," autoremove",[187,1914,1915],{"class":201}," --purge\n",[1877,1917],{},"Или для DNF (RHEL/Fedora/CentOS 8+):",[49,1920,1922],{"className":181,"code":1921,"language":183,"meta":55,"style":55},"sudo dnf autoremove\nsudo dnf clean all\n",[40,1923,1924,1934],{"__ignoreMap":55},[187,1925,1926,1928,1931],{"class":189,"line":190},[187,1927,194],{"class":193},[187,1929,1930],{"class":197}," dnf",[187,1932,1933],{"class":197}," autoremove\n",[187,1935,1936,1938,1940,1943],{"class":189,"line":312},[187,1937,194],{"class":193},[187,1939,1930],{"class":197},[187,1941,1942],{"class":197}," clean",[187,1944,1945],{"class":197}," all\n",[33,1947,1948,1949,1951],{},"Проверьте результат командой ",[40,1950,765],{}," снова.",[1953,1954,1955],"blockquote",{},[21,1956,1957,1958,1961,1962,1965],{},"💡 ",[25,1959,1960],{},"Совет:"," ",[40,1963,1964],{},"apt clean"," удаляет ВСЕ скачанные файлы пакетов из кеша, что может освободить сотни мегабайт или даже гигабайты.",[1170,1967,1969],{"id":1968},"способ-2-поиск-и-удаление-больших-файлов","Способ 2: Поиск и удаление больших файлов",[21,1971,1972],{},"Если очистка кеша не помогла, нужно найти «пожирателей» диска.",[75,1974,1975,1983,2054,2090],{},[33,1976,1977,1978,1980,1981,161],{},"Перейдите в корень проблемного раздела (например, если заполнен ",[40,1979,1885],{},", то оставайтесь в ",[40,1982,1885],{},[33,1984,1985,1986,2028],{},"Найдите 20 самых больших файлов и каталогов:\n",[49,1987,1989],{"className":181,"code":1988,"language":183,"meta":55,"style":55},"sudo du -ahx / 2>/dev/null | sort -rh | head -n 20\n",[40,1990,1991],{"__ignoreMap":55},[187,1992,1993,1995,1998,2001,2004,2007,2009,2011,2014,2017,2019,2022,2025],{"class":189,"line":190},[187,1994,194],{"class":193},[187,1996,1997],{"class":197}," du",[187,1999,2000],{"class":201}," -ahx",[187,2002,2003],{"class":197}," /",[187,2005,2006],{"class":392}," 2>",[187,2008,1575],{"class":197},[187,2010,396],{"class":392},[187,2012,2013],{"class":193}," sort",[187,2015,2016],{"class":201}," -rh",[187,2018,396],{"class":392},[187,2020,2021],{"class":193}," head",[187,2023,2024],{"class":201}," -n",[187,2026,2027],{"class":201}," 20\n",[30,2029,2030,2036,2042,2048],{},[33,2031,2032,2035],{},[40,2033,2034],{},"-a"," — включать файлы.",[33,2037,2038,2041],{},[40,2039,2040],{},"-h"," — человеко-читаемый формат (M, G).",[33,2043,2044,2047],{},[40,2045,2046],{},"-x"," — не переходить на другие файловые системы.",[33,2049,2050,2053],{},[40,2051,2052],{},"2>/dev/null"," — скрыть ошибки «Permission denied».",[33,2055,2056,2057],{},"Проанализируйте вывод. Частые «кандидаты»:\n",[30,2058,2059,2064,2070,2075,2081],{},[33,2060,2061,2063],{},[40,2062,694],{}," — старые логи.",[33,2065,2066,2069],{},[40,2067,2068],{},"/var/cache/"," — кеш приложений и пакетов.",[33,2071,2072,2074],{},[40,2073,1794],{}," — временные файлы.",[33,2076,2077,2080],{},[40,2078,2079],{},"/home/\u003Cuser>/Downloads/"," — загрузки пользователя.",[33,2082,2083,2084,217,2087,161],{},"Папки с дампами (",[40,2085,2086],{},"*.dump",[40,2088,2089],{},"*.sql",[33,2091,2092,2093,2096,2097],{},"После идентификации удалите или архивируйте ненужные файлы. ",[25,2094,2095],{},"Будьте осторожны!"," Удаляйте только то, что уверенно не нужно.\n",[49,2098,2100],{"className":181,"code":2099,"language":183,"meta":55,"style":55},"# Пример: удалить старый лог (предварительно убедитесь, что он не нужен!)\nsudo rm -f /var/log/syslog.1.gz\n",[40,2101,2102,2107],{"__ignoreMap":55},[187,2103,2104],{"class":189,"line":190},[187,2105,2106],{"class":1497},"# Пример: удалить старый лог (предварительно убедитесь, что он не нужен!)\n",[187,2108,2109,2111,2114,2117],{"class":189,"line":312},[187,2110,194],{"class":193},[187,2112,2113],{"class":197}," rm",[187,2115,2116],{"class":201}," -f",[187,2118,2119],{"class":197}," /var/log/syslog.1.gz\n",[1170,2121,2123],{"id":2122},"способ-3-очистка-журналов-systemd-и-логов","Способ 3: Очистка журналов systemd и логов",[21,2125,2126,2127,2129],{},"Журналы системных служб через ",[40,2128,596],{}," могут разрастаться.",[75,2131,2132,2150,2184],{},[33,2133,2134,2135],{},"Проверьте текущий размер журнала:",[49,2136,2138],{"className":181,"code":2137,"language":183,"meta":55,"style":55},"sudo journalctl --disk-usage\n",[40,2139,2140],{"__ignoreMap":55},[187,2141,2142,2144,2147],{"class":189,"line":190},[187,2143,194],{"class":193},[187,2145,2146],{"class":197}," journalctl",[187,2148,2149],{"class":201}," --disk-usage\n",[33,2151,2152,2153,2167,2169,2170],{},"Очистите старые записи, оставив, например, последние 3 дня:",[49,2154,2156],{"className":181,"code":2155,"language":183,"meta":55,"style":55},"sudo journalctl --vacuum-time=3d\n",[40,2157,2158],{"__ignoreMap":55},[187,2159,2160,2162,2164],{"class":189,"line":190},[187,2161,194],{"class":193},[187,2163,2146],{"class":197},[187,2165,2166],{"class":201}," --vacuum-time=3d\n",[1877,2168],{},"Или очистите, оставив не более 500 МБ:",[49,2171,2173],{"className":181,"code":2172,"language":183,"meta":55,"style":55},"sudo journalctl --vacuum-size=500M\n",[40,2174,2175],{"__ignoreMap":55},[187,2176,2177,2179,2181],{"class":189,"line":190},[187,2178,194],{"class":193},[187,2180,2146],{"class":197},[187,2182,2183],{"class":201}," --vacuum-size=500M\n",[33,2185,2186,2187,2189,2190,43,2193,2196,2197,2199],{},"Для логов в ",[40,2188,694],{}," (не через systemd) можно вручную удалить сжатые старые файлы (например, ",[40,2191,2192],{},"*.gz",[40,2194,2195],{},"*.old","), если политика ротации логов (",[40,2198,27],{},") не сработала.",[1170,2201,2203],{"id":2202},"способ-4-обработка-удалённых-но-открытых-файлов","Способ 4: Обработка «удалённых, но открытых» файлов",[21,2205,2206,2207,2209,2210,2212],{},"Если ",[40,2208,1810],{}," не находит больших файлов, а ",[40,2211,1491],{}," показывает занятое место, скорее всего, проблема в открытых удалённых файлах.",[75,2214,2215,2241,2258],{},[33,2216,2217,2218,2233],{},"Найдите такие файлы:",[49,2219,2221],{"className":181,"code":2220,"language":183,"meta":55,"style":55},"sudo lsof +L1\n",[40,2222,2223],{"__ignoreMap":55},[187,2224,2225,2227,2230],{"class":189,"line":190},[187,2226,194],{"class":193},[187,2228,2229],{"class":197}," lsof",[187,2231,2232],{"class":197}," +L1\n",[30,2234,2235],{},[33,2236,2237,2240],{},[40,2238,2239],{},"+L1"," — ищет файлы, у которых количество ссылок (ссылочный счётчик) меньше 1 (т.е. удалённые, но ещё открытые).",[33,2242,2243,2244,2247,2248,2251,2252,1885,2255,238],{},"В выводе обратите внимание на столбец ",[40,2245,2246],{},"SIZE"," и ",[40,2249,2250],{},"NAME",". Процесс, держащий файл, указан в столбце ",[40,2253,2254],{},"COMMAND",[40,2256,2257],{},"PID",[33,2259,2260,2261,2289,2291],{},"Чтобы освободить место, завершите процесс, который держит файл (если это безопасно), или перезапустите службу:",[49,2262,2264],{"className":181,"code":2263,"language":183,"meta":55,"style":55},"sudo systemctl restart \u003Cимя_службы>\n",[40,2265,2266],{"__ignoreMap":55},[187,2267,2268,2270,2273,2276,2279,2282,2286],{"class":189,"line":190},[187,2269,194],{"class":193},[187,2271,2272],{"class":197}," systemctl",[187,2274,2275],{"class":197}," restart",[187,2277,2278],{"class":392}," \u003C",[187,2280,2281],{"class":197},"имя_служб",[187,2283,2285],{"class":2284},"sVt8B","ы",[187,2287,2288],{"class":392},">\n",[1877,2290],{},"После этого место освободится автоматически.",[1170,2293,2295],{"id":2294},"способ-5-расширение-раздела-если-возможно","Способ 5: Расширение раздела (если возможно)",[21,2297,2298],{},"Если после всех очисток место всё равно критически мало, а данные важны, рассмотрите увеличение раздела.",[75,2300,2301,2307,2327],{},[33,2302,2303,2306],{},[25,2304,2305],{},"Для виртуальных машин/облачных серверов",": Увеличьте виртуальный диск через панель управления хостинг-провайдера (AWS, GCP, Azure, DigitalOcean и т.д.).",[33,2308,2309,2312,2313,217,2316,2247,2319,2322,2323,2326],{},[25,2310,2311],{},"Для LVM",": После увеличения виртуального диска используйте ",[40,2314,2315],{},"pvresize",[40,2317,2318],{},"lvextend",[40,2320,2321],{},"resize2fs"," (для ext4) или ",[40,2324,2325],{},"xfs_growfs"," (для XFS).",[33,2328,2329,2332,2333,339,2336],{},[25,2330,2331],{},"Для разделов без LVM",": Сложнее. Часто потребуется создание нового раздела, копирование данных и изменение ",[40,2334,2335],{},"fstab",[25,2337,2338],{},"Сделайте резервную копию важных данных перед любыми операциями с разделами!",[1953,2340,2341],{},[21,2342,2343,2344,2346],{},"⚠️ ",[25,2345,325],{}," Операции изменения разделов и файловых систем несут риск потери данных. Всегда имейте актуальный бэкап.",[16,2348,702],{"id":701},[75,2350,2351,2426,2438,2453,2477],{},[33,2352,2353,2356,2357,2359,2360,2363,2364],{},[25,2354,2355],{},"Настройте мониторинг",": Используйте ",[40,2358,92],{}," с уведомлениями (например, через ",[40,2361,2362],{},"mail"," или Slack-бот) при превышении 80-90% использования диска.\n",[49,2365,2367],{"className":181,"code":2366,"language":183,"meta":55,"style":55},"# Пример простой проверки в cron (каждый день)\n0 9 * * * df -h | grep -E '(/$|/var)' | awk '$5+0 >= 90 {print \"CRITICAL: \" $0}' | mail -s \"Disk Usage Alert\" admin@example.com\n",[40,2368,2369,2374],{"__ignoreMap":55},[187,2370,2371],{"class":189,"line":190},[187,2372,2373],{"class":1497},"# Пример простой проверки в cron (каждый день)\n",[187,2375,2376,2379,2382,2385,2387,2389,2392,2394,2396,2398,2401,2404,2406,2409,2412,2414,2417,2420,2423],{"class":189,"line":312},[187,2377,2378],{"class":193},"0",[187,2380,2381],{"class":201}," 9",[187,2383,2384],{"class":201}," *",[187,2386,2384],{"class":201},[187,2388,2384],{"class":201},[187,2390,2391],{"class":197}," df",[187,2393,1494],{"class":201},[187,2395,396],{"class":392},[187,2397,399],{"class":193},[187,2399,2400],{"class":201}," -E",[187,2402,2403],{"class":197}," '(/$|/var)'",[187,2405,396],{"class":392},[187,2407,2408],{"class":193}," awk",[187,2410,2411],{"class":197}," '$5+0 >= 90 {print \"CRITICAL: \" $0}'",[187,2413,396],{"class":392},[187,2415,2416],{"class":193}," mail",[187,2418,2419],{"class":201}," -s",[187,2421,2422],{"class":197}," \"Disk Usage Alert\"",[187,2424,2425],{"class":197}," admin@example.com\n",[33,2427,2428,2433,2434,2247,2436,238],{},[25,2429,2430,2431],{},"Настройте ",[40,2432,27],{},": Убедитесь, что ротация логов работает корректно. Проверьте конфиги в ",[40,2435,110],{},[40,2437,114],{},[33,2439,2440,2443,2444,2446,2447,2449,2450,161],{},[25,2441,2442],{},"Регулярно чистите кеш",": Добавьте в ",[40,2445,92],{}," очистку кеша пакетного менеджера раз в неделю (",[40,2448,1964],{}," / ",[40,2451,2452],{},"dnf clean all",[33,2454,2455,2462,2463,2466,2467,43,2470,2473,2474,2476],{},[25,2456,2457,2458,2461],{},"Используйте ",[40,2459,2460],{},"tmpfs"," для временных файлов",": В ",[40,2464,2465],{},"/etc/fstab"," можно смонтировать ",[40,2468,2469],{},"/tmp",[40,2471,2472],{},"/var/tmp"," в оперативную память (",[40,2475,2460],{},"), что снизит нагрузку на основной диск.",[33,2478,2479,2482,2483,2485],{},[25,2480,2481],{},"Анализируйте тренды",": Раз в месяц запускайте ",[40,2484,1810],{}," на ключевых разделах, чтобы понять, какие каталоги растут быстрее всего, и принять меры (архивация, удаление).",[772,2487,2488],{},"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 .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 .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 pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}",{"title":55,"searchDepth":312,"depth":312,"links":2490},[2491,2492,2493,2500],{"id":1743,"depth":312,"text":1744},{"id":72,"depth":312,"text":73},{"id":1167,"depth":312,"text":1168,"children":2494},[2495,2496,2497,2498,2499],{"id":1854,"depth":466,"text":1855},{"id":1968,"depth":466,"text":1969},{"id":2122,"depth":466,"text":2123},{"id":2202,"depth":466,"text":2203},{"id":2294,"depth":466,"text":2295},{"id":701,"depth":312,"text":702},"2026-04-08 08:57:14","Пошаговая инструкция по диагностике и исправлению ошибки «No space left on device» в Linux. Проверенные способы освобождения места за 5-10 минут.","easy","5-10 мин",[2506,2509,2512,2515],{"question":2507,"answer":2508},"В чем разница между командами df и du?","`df` показывает использование файловой системы (свободное место на диске), а `du` — размер файлов и каталогов. `df` опирается на метаданные суперблока, `du` обходит файлы.",{"question":2510,"answer":2511},"Как найти самые большие файлы и каталоги?","Используйте `du -ah /path | sort -rh | head -n 20`. Эта команда выведет 20 самых больших объектов по убыванию размера.",{"question":2513,"answer":2514},"Можно ли автоматически очищать кеш?","Да, можно настроить `systemd` таймер или `cron` для периодического запуска `sync; echo 3 > /proc/sys/vm/drop_caches`, но это нужно делать осознанно.",{"question":2516,"answer":2517},"Почему `df` показывает мало свободного места, а `du` по папкам не находит больших файлов?","Возможно, файлы удалены, но продолжают использоваться запущенными процессами. Используйте `lsof | grep deleted`, чтобы найти такие файлы.",[2519,2522,2525,2528,2531],{"name":2520,"text":2521},"Проверьте использование диска","Выполните команду `df -h`, чтобы увидеть использование каждого раздела в удобочитаемом формате (гигабайтах). Обратите внимание на процент использования и точку монтирования с максимальным заполнением.",{"name":2523,"text":2524},"Найдите большие файлы и каталоги","Используйте `du -sh /* 2>/dev/null | sort -rh | head -n 10`, чтобы найти 10 самых больших каталогов в корне. Для более точного поиска в конкретной папке замените `/*` на путь.",{"name":2526,"text":2527},"Очистите кеш пакетного менеджера","Для APT (Debian/Ubuntu): `sudo apt clean` и `sudo apt autoremove`. Для YUM/DNF (RHEL/CentOS/Fedora): `sudo yum clean all` или `sudo dnf autoremove`. Это удалит устаревшие и временные файлы пакетов.",{"name":2529,"text":2530},"Очистите системные и прикладные логи","Очистите старые логи в `/var/log/`. Можно использовать `sudo journalctl --vacuum-time=3d` для systemd-логов или вручную удалить/сжать старые файлы в `/var/log/`. **Внимание:** не удаляйте файлы, которые активно используются.",{"name":2532,"text":2533},"Удалите временные файлы и кеш приложений","Очистите кеш пользователя: `rm -rf ~/.cache/*`. Для браузеров и других приложений используйте их встроенные функции очистки. Будьте осторожны, это удалит данные сессий.","PT10M",[2536,2537,2538,2539,2540,2541,2542,2543],"диск заполнен linux","no space left on device","освободить место linux","df du команды","очистка кеша linux","удалить старые логи","disk space full ubuntu","исправить ошибку диска",{},[2546,2547,2548],"/errors/linux/disk-readonly","/guides/linux/disk-usage-analysis","/errors/linux/inode-exhausted",{"title":1736,"description":2502},"high","errors/linux/disk-space-full","Статья объясняет, как диагностировать и исправить критическую ошибку «Диск заполнен» в Linux с помощью утилит df, du и инструментов очистки системы.",[839,2554,216,850,1491,1810],"disk space","EEKKte45gKk7NCKEFYhjLeBS4u9roHHrdVnT-waonSU"]