[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"page-ru-/guides/linux/journalctl-troubleshooting":3,"mdc--33syjv-key":1392,"mdc-lfewnr-key":1426,"mdc--6ro8tw-key":1464,"mdc--dlo34f-key":1495,"mdc-ghympq-key":1527,"mdc-rx6njq-key":1550,"mdc-sstvuh-key":1580,"mdc--2wr83r-key":1604,"mdc-gfk2i5-key":1629,"mdc--a0qajq-key":1659,"related-/guides/linux/systemd-service-management,/guides/linux/logrotate-configuration,/errors/linux/systemd-failed-to-start":1684},{"id":4,"title":5,"appliesTo":6,"author":12,"body":13,"canonical":1324,"code":1324,"createdAt":1325,"description":1326,"difficulty":1327,"draft":1328,"estimatedTime":1329,"extension":1330,"faq":1331,"howToSteps":1344,"howToTotalTime":1363,"image":1324,"keywords":1364,"locale":1373,"meta":1374,"navigation":253,"path":1375,"platform":1376,"related":1377,"section":1381,"seo":1382,"severity":1324,"stem":1383,"summary":1384,"tags":1385,"twitterCreator":1324,"twitterSite":1324,"type":1390,"updatedAt":1325,"__hash__":1391},"content_ru/guides/linux/journalctl-troubleshooting.md","journalctl: полное руководство по диагностике Linux-систем",[7,8,9,10,11],"systemd 245+","Ubuntu 20.04+","Debian 10+","CentOS 8+/RHEL 8+","Fedora 35+","FixPedia Team",{"type":14,"value":15,"toc":1299},"minimark",[16,21,33,62,69,73,111,124,128,133,143,160,167,187,193,197,200,221,224,324,328,339,354,367,370,389,393,396,511,514,570,574,585,597,602,622,626,633,654,715,719,759,763,766,854,857,861,864,950,953,957,961,978,1002,1006,1017,1049,1053,1060,1107,1111,1116,1166,1172,1193,1197,1202,1226,1229,1250,1254,1263,1288,1295],[17,18,20],"h2",{"id":19},"введение-зачем-это-нужно","Введение / Зачем это нужно",[22,23,24,28,29,32],"p",{},[25,26,27],"code",{},"journalctl"," — это мощная утилита для просмотра и анализа системного журнала systemd, который заменяет традиционные файлы логов (например, ",[25,30,31],{},"/var/log/syslog","). С её помощью вы можете:",[34,35,36,44,50,56],"ul",{},[37,38,39,43],"li",{},[40,41,42],"strong",{},"Диагностировать сбои",": найти причину, почему служба не запустилась или упала.",[37,45,46,49],{},[40,47,48],{},"Анализировать производительность",": отслеживать загрузку системы, запросы к службам.",[37,51,52,55],{},[40,53,54],{},"Безопасность",": проверять подозрительные события (неудачные логины, изменения).",[37,57,58,61],{},[40,59,60],{},"Мониторинг",": следить за работой в реальном времени.",[22,63,64,65,68],{},"Этот гайд превратит вас из новичка, который знает только ",[25,66,67],{},"journalctl | grep error",", в уверенного пользователя, способного быстро находить нужную информацию.",[17,70,72],{"id":71},"требования-подготовка","Требования / Подготовка",[74,75,76,82,101],"ol",{},[37,77,78,81],{},[40,79,80],{},"Операционная система",": Любой современный Linux-дистрибутив с systemd (Ubuntu 20.04+, Debian 10+, CentOS 8+, Fedora 35+ и др.).",[37,83,84,87,88,91,92],{},[40,85,86],{},"Права доступа",": Для просмотра всех логов нужны права root или членство в группе ",[25,89,90],{},"systemd-journal",". Обычные пользователи видят только свои логи.\n",[34,93,94],{},[37,95,96,97,100],{},"Добавиться в группу: ",[25,98,99],{},"sudo usermod -aG systemd-journal $USER"," (требуется перелогин).",[37,102,103,106,107,110],{},[40,104,105],{},"Базовые знания",": Уверенное использование терминала, понимание, что такое systemd-службы (",[25,108,109],{},".service",").",[112,113,114],"blockquote",{},[22,115,116,117,120,121,123],{},"💡 ",[40,118,119],{},"Совет",": Если вы работаете на сервере без графического интерфейса, ",[25,122,27],{}," — ваш основной инструмент диагностики. Знание его фильтров сэкономит часы поиска.",[17,125,127],{"id":126},"пошаговая-инструкция","Пошаговая инструкция",[129,130,132],"h3",{"id":131},"шаг-1-базовый-просмотр-логов","Шаг 1: Базовый просмотр логов",[22,134,135,136,138,139,142],{},"Просто запустите ",[25,137,27],{}," — вы увидите весь журнал, начиная с самого раннего. Это аналог ",[25,140,141],{},"cat /var/log/syslog",", но с возможностью фильтрации.",[144,145,150],"pre",{"className":146,"code":147,"language":148,"meta":149,"style":149},"language-bash shiki shiki-themes github-light github-dark","journalctl\n","bash","",[25,151,152],{"__ignoreMap":149},[153,154,157],"span",{"class":155,"line":156},"line",1,[153,158,147],{"class":159},"sScJk",[22,161,162,163,166],{},"По умолчанию используется пейджер ",[25,164,165],{},"less",". Навигация:",[34,168,169,175,181],{},[37,170,171,174],{},[25,172,173],{},"Space"," — следующая страница.",[37,176,177,180],{},[25,178,179],{},"b"," — предыдущая страница.",[37,182,183,186],{},[25,184,185],{},"q"," — выход.",[22,188,189,192],{},[40,190,191],{},"Важно",": Если вывод слишком большой, сразу применяйте фильтры (см. ниже).",[129,194,196],{"id":195},"шаг-2-фильтрация-по-времени","Шаг 2: Фильтрация по времени",[22,198,199],{},"Часто нужно посмотреть логи за последние несколько часов или дней. Используйте:",[34,201,202,212],{},[37,203,204,207,208,211],{},[25,205,206],{},"-S"," (",[25,209,210],{},"--since",") — начальное время.",[37,213,214,207,217,220],{},[25,215,216],{},"-U",[25,218,219],{},"--until",") — конечное время.",[22,222,223],{},"Формат времени гибкий:",[144,225,227],{"className":146,"code":226,"language":148,"meta":149,"style":149},"# Логи за сегодня\njournalctl --since today\n\n# За последние 2 часа\njournalctl --since \"2 hours ago\"\n\n# За конкретный день (с 00:00 до 23:59)\njournalctl --since \"2026-02-14\" --until \"2026-02-15\"\n\n# С точностью до минуты\njournalctl --since \"2026-02-14 09:30:00\" --until \"2026-02-14 10:00:00\"\n",[25,228,229,235,248,255,261,271,276,282,298,303,309],{"__ignoreMap":149},[153,230,231],{"class":155,"line":156},[153,232,234],{"class":233},"sJ8bj","# Логи за сегодня\n",[153,236,238,240,244],{"class":155,"line":237},2,[153,239,27],{"class":159},[153,241,243],{"class":242},"sj4cs"," --since",[153,245,247],{"class":246},"sZZnC"," today\n",[153,249,251],{"class":155,"line":250},3,[153,252,254],{"emptyLinePlaceholder":253},true,"\n",[153,256,258],{"class":155,"line":257},4,[153,259,260],{"class":233},"# За последние 2 часа\n",[153,262,264,266,268],{"class":155,"line":263},5,[153,265,27],{"class":159},[153,267,243],{"class":242},[153,269,270],{"class":246}," \"2 hours ago\"\n",[153,272,274],{"class":155,"line":273},6,[153,275,254],{"emptyLinePlaceholder":253},[153,277,279],{"class":155,"line":278},7,[153,280,281],{"class":233},"# За конкретный день (с 00:00 до 23:59)\n",[153,283,285,287,289,292,295],{"class":155,"line":284},8,[153,286,27],{"class":159},[153,288,243],{"class":242},[153,290,291],{"class":246}," \"2026-02-14\"",[153,293,294],{"class":242}," --until",[153,296,297],{"class":246}," \"2026-02-15\"\n",[153,299,301],{"class":155,"line":300},9,[153,302,254],{"emptyLinePlaceholder":253},[153,304,306],{"class":155,"line":305},10,[153,307,308],{"class":233},"# С точностью до минуты\n",[153,310,312,314,316,319,321],{"class":155,"line":311},11,[153,313,27],{"class":159},[153,315,243],{"class":242},[153,317,318],{"class":246}," \"2026-02-14 09:30:00\"",[153,320,294],{"class":242},[153,322,323],{"class":246}," \"2026-02-14 10:00:00\"\n",[129,325,327],{"id":326},"шаг-3-фильтрация-по-службе-юниту","Шаг 3: Фильтрация по службе (юниту)",[22,329,330,331,334,335,338],{},"Если проблема связана с конкретной службой (например, ",[25,332,333],{},"nginx",", ",[25,336,337],{},"docker","), фильтруйте по её имени:",[144,340,342],{"className":146,"code":341,"language":148,"meta":149,"style":149},"journalctl -u nginx.service\n",[25,343,344],{"__ignoreMap":149},[153,345,346,348,351],{"class":155,"line":156},[153,347,27],{"class":159},[153,349,350],{"class":242}," -u",[153,352,353],{"class":246}," nginx.service\n",[22,355,356,359,360,363,364,366],{},[40,357,358],{},"Краткая форма",": ",[25,361,362],{},"journalctl -u nginx"," (расширение ",[25,365,109],{}," необязательно).",[22,368,369],{},"Можно комбинировать с временными фильтрами:",[144,371,373],{"className":146,"code":372,"language":148,"meta":149,"style":149},"journalctl -u docker.service --since \"1 hour ago\"\n",[25,374,375],{"__ignoreMap":149},[153,376,377,379,381,384,386],{"class":155,"line":156},[153,378,27],{"class":159},[153,380,350],{"class":242},[153,382,383],{"class":246}," docker.service",[153,385,243],{"class":242},[153,387,388],{"class":246}," \"1 hour ago\"\n",[129,390,392],{"id":391},"шаг-4-поиск-по-приоритету-уровню-логирования","Шаг 4: Поиск по приоритету (уровню логирования)",[22,394,395],{},"Журнал systemd классифицирует сообщения по приоритетам (от самого критичного до отладочных):",[397,398,399,415],"table",{},[400,401,402],"thead",{},[403,404,405,409,412],"tr",{},[406,407,408],"th",{},"Приоритет",[406,410,411],{},"Код",[406,413,414],{},"Пример",[416,417,418,430,441,452,467,478,489,500],"tbody",{},[403,419,420,424,427],{},[421,422,423],"td",{},"emerg",[421,425,426],{},"0",[421,428,429],{},"Система неработоспособна",[403,431,432,435,438],{},[421,433,434],{},"alert",[421,436,437],{},"1",[421,439,440],{},"Требуется немедленное действие",[403,442,443,446,449],{},[421,444,445],{},"crit",[421,447,448],{},"2",[421,450,451],{},"Критические ошибки",[403,453,454,457,460],{},[421,455,456],{},"err",[421,458,459],{},"3",[421,461,462,463,466],{},"Ошибки (по умолчанию для ",[25,464,465],{},"-p err",")",[403,468,469,472,475],{},[421,470,471],{},"warning",[421,473,474],{},"4",[421,476,477],{},"Предупреждения",[403,479,480,483,486],{},[421,481,482],{},"notice",[421,484,485],{},"5",[421,487,488],{},"Обычные, но значимые события",[403,490,491,494,497],{},[421,492,493],{},"info",[421,495,496],{},"6",[421,498,499],{},"Информационные сообщения",[403,501,502,505,508],{},[421,503,504],{},"debug",[421,506,507],{},"7",[421,509,510],{},"Отладочная информация",[22,512,513],{},"Фильтр по уровню:",[144,515,517],{"className":146,"code":516,"language":148,"meta":149,"style":149},"# Только ошибки и выше (err, crit, alert, emerg)\njournalctl -p err\n\n# Все, кроме debug (info и выше)\njournalctl -p info\n\n# Только предупреждения\njournalctl -p warning\n",[25,518,519,524,534,538,543,552,556,561],{"__ignoreMap":149},[153,520,521],{"class":155,"line":156},[153,522,523],{"class":233},"# Только ошибки и выше (err, crit, alert, emerg)\n",[153,525,526,528,531],{"class":155,"line":237},[153,527,27],{"class":159},[153,529,530],{"class":242}," -p",[153,532,533],{"class":246}," err\n",[153,535,536],{"class":155,"line":250},[153,537,254],{"emptyLinePlaceholder":253},[153,539,540],{"class":155,"line":257},[153,541,542],{"class":233},"# Все, кроме debug (info и выше)\n",[153,544,545,547,549],{"class":155,"line":263},[153,546,27],{"class":159},[153,548,530],{"class":242},[153,550,551],{"class":246}," info\n",[153,553,554],{"class":155,"line":273},[153,555,254],{"emptyLinePlaceholder":253},[153,557,558],{"class":155,"line":278},[153,559,560],{"class":233},"# Только предупреждения\n",[153,562,563,565,567],{"class":155,"line":284},[153,564,27],{"class":159},[153,566,530],{"class":242},[153,568,569],{"class":246}," warning\n",[129,571,573],{"id":572},"шаг-5-мониторинг-в-реальном-времени","Шаг 5: Мониторинг в реальном времени",[22,575,576,577,580,581,584],{},"Чтобы видеть новые записи по мере их появления (как ",[25,578,579],{},"tail -f","), используйте флаг ",[25,582,583],{},"-f",":",[144,586,588],{"className":146,"code":587,"language":148,"meta":149,"style":149},"journalctl -f\n",[25,589,590],{"__ignoreMap":149},[153,591,592,594],{"class":155,"line":156},[153,593,27],{"class":159},[153,595,596],{"class":242}," -f\n",[22,598,599,584],{},[40,600,601],{},"Комбинации",[34,603,604,610,616],{},[37,605,606,607],{},"С фильтром по службе: ",[25,608,609],{},"journalctl -u ssh.service -f",[37,611,612,613],{},"С фильтром по приоритету: ",[25,614,615],{},"journalctl -p err -f",[37,617,618,619],{},"С фильтром по времени (покажет новые записи после указанного времени): ",[25,620,621],{},"journalctl -S \"10:00\" -f",[129,623,625],{"id":624},"шаг-6-поиск-по-тексту-и-регулярным-выражениям","Шаг 6: Поиск по тексту и регулярным выражениям",[22,627,628,629,632],{},"Для поиска внутри записей используйте ",[25,630,631],{},"grep","-подобные флаги:",[34,634,635,648],{},[37,636,637,640,641,644,645,110],{},[25,638,639],{},"-k"," или ",[25,642,643],{},"--dmesg"," — показать только сообщения ядра (аналог ",[25,646,647],{},"dmesg",[37,649,650,653],{},[25,651,652],{},"-g \u003Cpattern>"," — поиск по регулярному выражению (требует systemd ≥ 237).",[144,655,657],{"className":146,"code":656,"language":148,"meta":149,"style":149},"# Поиск слова \"failed\"\njournalctl | grep failed\n\n# Более эффективно: journalctl умеет фильтровать сам\njournalctl -g \"failed to start\"\n\n# Поиск по IP-адресу (регулярное выражение)\njournalctl -g \"192\\.168\\.1\\.\\d+\"\n",[25,658,659,664,678,682,687,697,701,706],{"__ignoreMap":149},[153,660,661],{"class":155,"line":156},[153,662,663],{"class":233},"# Поиск слова \"failed\"\n",[153,665,666,668,672,675],{"class":155,"line":237},[153,667,27],{"class":159},[153,669,671],{"class":670},"szBVR"," |",[153,673,674],{"class":159}," grep",[153,676,677],{"class":246}," failed\n",[153,679,680],{"class":155,"line":250},[153,681,254],{"emptyLinePlaceholder":253},[153,683,684],{"class":155,"line":257},[153,685,686],{"class":233},"# Более эффективно: journalctl умеет фильтровать сам\n",[153,688,689,691,694],{"class":155,"line":263},[153,690,27],{"class":159},[153,692,693],{"class":242}," -g",[153,695,696],{"class":246}," \"failed to start\"\n",[153,698,699],{"class":155,"line":273},[153,700,254],{"emptyLinePlaceholder":253},[153,702,703],{"class":155,"line":278},[153,704,705],{"class":233},"# Поиск по IP-адресу (регулярное выражение)\n",[153,707,708,710,712],{"class":155,"line":284},[153,709,27],{"class":159},[153,711,693],{"class":242},[153,713,714],{"class":246}," \"192\\.168\\.1\\.\\d+\"\n",[129,716,718],{"id":717},"шаг-7-просмотр-логов-других-пользователей-и-загрузочных-сообщений","Шаг 7: Просмотр логов других пользователей и загрузочных сообщений",[34,720,721,734,743,751],{},[37,722,723,359,726,729,730,733],{},[40,724,725],{},"Логи загрузки",[25,727,728],{},"journalctl -b"," (текущая загрузка), ",[25,731,732],{},"journalctl -b -1"," (предыдущая загрузка).",[37,735,736,359,739,742],{},[40,737,738],{},"Логи конкретного юнита за загрузку",[25,740,741],{},"journalctl -u ssh.service -b",".",[37,744,745,359,748,742],{},[40,746,747],{},"Логи указанного PID",[25,749,750],{},"journalctl _PID=1234",[37,752,753,359,756,742],{},[40,754,755],{},"Логи указанного исполняемого файла",[25,757,758],{},"journalctl /usr/bin/nginx",[129,760,762],{"id":761},"шаг-8-управление-размером-журнала-очистка","Шаг 8: Управление размером журнала (очистка)",[22,764,765],{},"По умолчанию journal может занимать много места (до 10% от диска). Управление:",[74,767,768,785,848],{},[37,769,770,584,773],{},[40,771,772],{},"Просмотр текущего использования",[144,774,776],{"className":146,"code":775,"language":148,"meta":149,"style":149},"journalctl --disk-usage\n",[25,777,778],{"__ignoreMap":149},[153,779,780,782],{"class":155,"line":156},[153,781,27],{"class":159},[153,783,784],{"class":242}," --disk-usage\n",[37,786,787,584,790],{},[40,788,789],{},"Очистка старых записей",[144,791,793],{"className":146,"code":792,"language":148,"meta":149,"style":149},"# Удалить записи старше 7 дней\njournalctl --vacuum-time=7d\n\n# Оставить не более 500M\njournalctl --vacuum-size=500M\n\n# Удалить все логи (осторожно!)\njournalctl --rotate && journalctl --vacuum-time=1s\n",[25,794,795,800,807,811,816,823,827,832],{"__ignoreMap":149},[153,796,797],{"class":155,"line":156},[153,798,799],{"class":233},"# Удалить записи старше 7 дней\n",[153,801,802,804],{"class":155,"line":237},[153,803,27],{"class":159},[153,805,806],{"class":242}," --vacuum-time=7d\n",[153,808,809],{"class":155,"line":250},[153,810,254],{"emptyLinePlaceholder":253},[153,812,813],{"class":155,"line":257},[153,814,815],{"class":233},"# Оставить не более 500M\n",[153,817,818,820],{"class":155,"line":263},[153,819,27],{"class":159},[153,821,822],{"class":242}," --vacuum-size=500M\n",[153,824,825],{"class":155,"line":273},[153,826,254],{"emptyLinePlaceholder":253},[153,828,829],{"class":155,"line":278},[153,830,831],{"class":233},"# Удалить все логи (осторожно!)\n",[153,833,834,836,839,843,845],{"class":155,"line":284},[153,835,27],{"class":159},[153,837,838],{"class":242}," --rotate",[153,840,842],{"class":841},"sVt8B"," && ",[153,844,27],{"class":159},[153,846,847],{"class":242}," --vacuum-time=1s\n",[37,849,850,853],{},[40,851,852],{},"Настройка постоянных лимитов"," (см. раздел «Возможные проблемы»).",[855,856],"in-article-ad",{},[17,858,860],{"id":859},"проверка-результата","Проверка результата",[22,862,863],{},"После выполнения шагов вы должны уметь:",[74,865,866,905,932],{},[37,867,868,584,871,895,898,899,640,902,742],{},[40,869,870],{},"Найти ошибку службы",[144,872,874],{"className":146,"code":873,"language":148,"meta":149,"style":149},"journalctl -u nginx.service -p err --since \"10 minutes ago\"\n",[25,875,876],{"__ignoreMap":149},[153,877,878,880,882,885,887,890,892],{"class":155,"line":156},[153,879,27],{"class":159},[153,881,350],{"class":242},[153,883,884],{"class":246}," nginx.service",[153,886,530],{"class":242},[153,888,889],{"class":246}," err",[153,891,243],{"class":242},[153,893,894],{"class":246}," \"10 minutes ago\"\n",[896,897],"br",{},"Вывод должен содержать строки с ",[25,900,901],{},"Failed",[25,903,904],{},"error",[37,906,907,584,910,929,931],{},[40,908,909],{},"Отследить загрузку системы",[144,911,913],{"className":146,"code":912,"language":148,"meta":149,"style":149},"journalctl -b -1 -p warning\n",[25,914,915],{"__ignoreMap":149},[153,916,917,919,922,925,927],{"class":155,"line":156},[153,918,27],{"class":159},[153,920,921],{"class":242}," -b",[153,923,924],{"class":242}," -1",[153,926,530],{"class":242},[153,928,569],{"class":246},[896,930],{},"Покажет предупреждения предыдущей загрузки (полезно при проблемах с загрузкой).",[37,933,934,584,937,947,949],{},[40,935,936],{},"Контролировать размер",[144,938,939],{"className":146,"code":775,"language":148,"meta":149,"style":149},[25,940,941],{"__ignoreMap":149},[153,942,943,945],{"class":155,"line":156},[153,944,27],{"class":159},[153,946,784],{"class":242},[896,948],{},"Значение должно быть разумным (например, \u003C 500M на сервере).",[22,951,952],{},"Если вы можете выполнить эти три пункта — гайд освоен.",[17,954,956],{"id":955},"возможные-проблемы","Возможные проблемы",[129,958,960],{"id":959},"проблема-1-no-journal-files-were-found-или-пустой-вывод","Проблема 1: «No journal files were found» или пустой вывод",[22,962,963,966,967,970,971,974,975,584],{},[40,964,965],{},"Причина",": Журнал отключен или хранится только в оперативной памяти (параметр ",[25,968,969],{},"Storage=volatile"," в ",[25,972,973],{},"/etc/systemd/journald.conf",").\n",[40,976,977],{},"Решение",[74,979,980,986,996],{},[37,981,982,983,742],{},"Проверьте конфиг: ",[25,984,985],{},"cat /etc/systemd/journald.conf | grep Storage",[37,987,988,989,991,992,995],{},"Если ",[25,990,969],{},", измените на ",[25,993,994],{},"persistent"," (хранить на диске).",[37,997,998,999,742],{},"Перезапустите: ",[25,1000,1001],{},"sudo systemctl restart systemd-journald",[129,1003,1005],{"id":1004},"проблема-2-недостаточно-прав-для-просмотра-логов","Проблема 2: Недостаточно прав для просмотра логов",[22,1007,1008,1010,1011,1013,1014,1016],{},[40,1009,965],{},": Текущий пользователь не в группе ",[25,1012,90],{},".\n",[40,1015,977],{},": Добавьте пользователя в группу и перелогиньтесь:",[144,1018,1020],{"className":146,"code":1019,"language":148,"meta":149,"style":149},"sudo usermod -aG systemd-journal $USER\nnewgrp systemd-journal  # или перезайдите в терминал\n",[25,1021,1022,1039],{"__ignoreMap":149},[153,1023,1024,1027,1030,1033,1036],{"class":155,"line":156},[153,1025,1026],{"class":159},"sudo",[153,1028,1029],{"class":246}," usermod",[153,1031,1032],{"class":242}," -aG",[153,1034,1035],{"class":246}," systemd-journal",[153,1037,1038],{"class":841}," $USER\n",[153,1040,1041,1044,1046],{"class":155,"line":237},[153,1042,1043],{"class":159},"newgrp",[153,1045,1035],{"class":246},[153,1047,1048],{"class":233},"  # или перезайдите в терминал\n",[129,1050,1052],{"id":1051},"проблема-3-журнал-занимает-весь-диск","Проблема 3: Журнал занимает весь диск",[22,1054,1055,1057,1058,584],{},[40,1056,965],{},": Нет настроенных лимитов, логика ротации не сработала.\n",[40,1059,977],{},[74,1061,1062,1068,1101],{},[37,1063,1064,1065,742],{},"Немедленно очистите: ",[25,1066,1067],{},"sudo journalctl --vacuum-size=100M",[37,1069,1070,1071,1073,1074],{},"Настройте лимиты в ",[25,1072,973],{},":\n",[144,1075,1079],{"className":1076,"code":1077,"language":1078,"meta":149,"style":149},"language-ini shiki shiki-themes github-light github-dark","[Journal]\nSystemMaxUse=500M\nSystemKeepFree=1G\nMaxRetentionSec=30d\n","ini",[25,1080,1081,1086,1091,1096],{"__ignoreMap":149},[153,1082,1083],{"class":155,"line":156},[153,1084,1085],{},"[Journal]\n",[153,1087,1088],{"class":155,"line":237},[153,1089,1090],{},"SystemMaxUse=500M\n",[153,1092,1093],{"class":155,"line":250},[153,1094,1095],{},"SystemKeepFree=1G\n",[153,1097,1098],{"class":155,"line":257},[153,1099,1100],{},"MaxRetentionSec=30d\n",[37,1102,1103,1104,742],{},"Перезапустите ",[25,1105,1106],{},"systemd-journald",[129,1108,1110],{"id":1109},"проблема-4-нельзя-найти-нужную-запись-из-за-огромного-объема-логов","Проблема 4: Нельзя найти нужную запись из-за огромного объема логов",[22,1112,1113,1115],{},[40,1114,977],{},": Всегда используйте комбинацию фильтров! Например:",[144,1117,1119],{"className":146,"code":1118,"language":148,"meta":149,"style":149},"# Ошибки nginx за последние 30 минут\njournalctl -u nginx -p err --since \"30 minutes ago\"\n\n# Все записи, связанные с сетью, за сегодня\njournalctl -g \"network\" --since today\n",[25,1120,1121,1126,1144,1148,1153],{"__ignoreMap":149},[153,1122,1123],{"class":155,"line":156},[153,1124,1125],{"class":233},"# Ошибки nginx за последние 30 минут\n",[153,1127,1128,1130,1132,1135,1137,1139,1141],{"class":155,"line":237},[153,1129,27],{"class":159},[153,1131,350],{"class":242},[153,1133,1134],{"class":246}," nginx",[153,1136,530],{"class":242},[153,1138,889],{"class":246},[153,1140,243],{"class":242},[153,1142,1143],{"class":246}," \"30 minutes ago\"\n",[153,1145,1146],{"class":155,"line":250},[153,1147,254],{"emptyLinePlaceholder":253},[153,1149,1150],{"class":155,"line":257},[153,1151,1152],{"class":233},"# Все записи, связанные с сетью, за сегодня\n",[153,1154,1155,1157,1159,1162,1164],{"class":155,"line":263},[153,1156,27],{"class":159},[153,1158,693],{"class":242},[153,1160,1161],{"class":246}," \"network\"",[153,1163,243],{"class":242},[153,1165,247],{"class":246},[129,1167,1169,1170,466],{"id":1168},"проблема-5-хочу-видеть-логи-в-классических-файлах-varlogsyslog","Проблема 5: Хочу видеть логи в классических файлах (",[25,1171,31],{},[22,1173,1174,1176,1177,1179,1180,1182,1183,1186,1187,1189,1190,1192],{},[40,1175,965],{},": По умолчанию systemd может дублировать логи в ",[25,1178,31],{}," (через ",[25,1181,1106],{}," → ",[25,1184,1185],{},"rsyslog","), но это настраивается.\n",[40,1188,977],{},": Убедитесь, что ",[25,1191,1185],{}," установлен и настроен на принятие сообщений из journal. Обычно это работает «из коробки» в Debian/Ubuntu. Для чистого journal-only дистрибутивов (например, некоторые версии Fedora) классические файлы могут отсутствовать.",[129,1194,1196],{"id":1195},"проблема-6-нужно-сохранить-логи-для-отправки-разработчикам","Проблема 6: Нужно сохранить логи для отправки разработчикам",[22,1198,1199,1201],{},[40,1200,977],{},": Экспортируйте в текстовый файл с фильтрацией:",[144,1203,1205],{"className":146,"code":1204,"language":148,"meta":149,"style":149},"journalctl -u myapp.service --since \"2026-02-14\" > myapp_logs.txt\n",[25,1206,1207],{"__ignoreMap":149},[153,1208,1209,1211,1213,1216,1218,1220,1223],{"class":155,"line":156},[153,1210,27],{"class":159},[153,1212,350],{"class":242},[153,1214,1215],{"class":246}," myapp.service",[153,1217,243],{"class":242},[153,1219,291],{"class":246},[153,1221,1222],{"class":670}," >",[153,1224,1225],{"class":246}," myapp_logs.txt\n",[22,1227,1228],{},"Или в бинарном формате (для полной совместимости):",[144,1230,1232],{"className":146,"code":1231,"language":148,"meta":149,"style":149},"journalctl --output=export -u myapp.service > myapp_logs.journal\n",[25,1233,1234],{"__ignoreMap":149},[153,1235,1236,1238,1241,1243,1245,1247],{"class":155,"line":156},[153,1237,27],{"class":159},[153,1239,1240],{"class":242}," --output=export",[153,1242,350],{"class":242},[153,1244,1215],{"class":246},[153,1246,1222],{"class":670},[153,1248,1249],{"class":246}," myapp_logs.journal\n",[129,1251,1253],{"id":1252},"проблема-7-journalctl-тормозит-при-большом-объеме-логов","Проблема 7: journalctl тормозит при большом объеме логов",[22,1255,1256,1258,1259,1262],{},[40,1257,977],{},": Используйте ",[25,1260,1261],{},"--no-pager"," для отключения less, или сразу фильтруйте:",[144,1264,1266],{"className":146,"code":1265,"language":148,"meta":149,"style":149},"journalctl --no-pager -u nginx -p err --since \"1h\"\n",[25,1267,1268],{"__ignoreMap":149},[153,1269,1270,1272,1275,1277,1279,1281,1283,1285],{"class":155,"line":156},[153,1271,27],{"class":159},[153,1273,1274],{"class":242}," --no-pager",[153,1276,350],{"class":242},[153,1278,1134],{"class":246},[153,1280,530],{"class":242},[153,1282,889],{"class":246},[153,1284,243],{"class":242},[153,1286,1287],{"class":246}," \"1h\"\n",[144,1289,1293],{"className":1290,"code":149,"language":1292},[1291],"language-text","text",[25,1294,149],{"__ignoreMap":149},[1296,1297,1298],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}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 .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 pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}",{"title":149,"searchDepth":237,"depth":237,"links":1300},[1301,1302,1303,1313,1314],{"id":19,"depth":237,"text":20},{"id":71,"depth":237,"text":72},{"id":126,"depth":237,"text":127,"children":1304},[1305,1306,1307,1308,1309,1310,1311,1312],{"id":131,"depth":250,"text":132},{"id":195,"depth":250,"text":196},{"id":326,"depth":250,"text":327},{"id":391,"depth":250,"text":392},{"id":572,"depth":250,"text":573},{"id":624,"depth":250,"text":625},{"id":717,"depth":250,"text":718},{"id":761,"depth":250,"text":762},{"id":859,"depth":237,"text":860},{"id":955,"depth":237,"text":956,"children":1315},[1316,1317,1318,1319,1320,1322,1323],{"id":959,"depth":250,"text":960},{"id":1004,"depth":250,"text":1005},{"id":1051,"depth":250,"text":1052},{"id":1109,"depth":250,"text":1110},{"id":1168,"depth":250,"text":1321},"Проблема 5: Хочу видеть логи в классических файлах (/var/log/syslog)",{"id":1195,"depth":250,"text":1196},{"id":1252,"depth":250,"text":1253},null,"2026-02-15 01:28:13","Узнайте, как эффективно анализировать системные логи Linux с помощью journalctl. Пошаговые примеры фильтрации, поиска и мониторинга в реальном времени.","medium",false,"15-20 мин","md",[1332,1335,1338,1341],{"question":1333,"answer":1334},"Как посмотреть логи за последний час в journalctl?","Используйте флаг `-S` (since): `journalctl -S \"1 hour ago\"`. Можно комбинировать с `-u` для конкретной службы.",{"question":1336,"answer":1337},"Как увеличить размер журнала systemd, чтобы хранить логи дольше?","Отредактируйте `/etc/systemd/journald.conf`, изменив параметры `SystemMaxUse` и `SystemKeepFree`. Затем перезапустите службу: `sudo systemctl restart systemd-journald`.",{"question":1339,"answer":1340},"Можно ли искать в логах по регулярным выражениям?","Да, используйте `journalctl -g \u003Cpattern>`. Это эквивалентно `grep` для журнала. Пример: `journalctl -g \"failed to start\"`.",{"question":1342,"answer":1343},"Почему journalctl показывает пустой вывод или \"No journal files were found\"?","Журнал может быть отключен или очищен. Проверьте конфигурацию в `/etc/systemd/journald.conf` (параметр `Storage`). Если стоит `volatile`, логи хранятся только в RAM и сбрасываются после перезагрузки.",[1345,1348,1351,1354,1357,1360],{"name":1346,"text":1347},"Базовый просмотр логов","Запустите `journalctl` без аргументов для вывода всего журнала. Используйте `q` для выхода (less-подобный интерфейс).",{"name":1349,"text":1350},"Фильтрация по времени","Используйте `-S` (с) и `-U` (до) для временного диапазона. Пример: `journalctl -S \"2026-02-14 09:00:00\" -U \"2026-02-14 12:00:00\"`.",{"name":1352,"text":1353},"Фильтрация по службе (юниту)","Укажите `-u \u003Cимя_службы>` для просмотра логов конкретного systemd-юнита. Пример: `journalctl -u nginx.service`.",{"name":1355,"text":1356},"Поиск по приоритету (уровню логирования)","Флаг `-p` фильтрует по уровню: err, warning, info, debug и др. `journalctl -p err` покажет только ошибки.",{"name":1358,"text":1359},"Мониторинг в реальном времени","Аналог `tail -f`: `journalctl -f`. Добавьте `-u` для отслеживания конкретной службы.",{"name":1361,"text":1362},"Очистка журнала","Чтобы освободить место, выполните `journalctl --vacuum-time=3d` (удалит записи старше 3 дней). Или `--vacuum-size=100M` для ограничения размера.","PT20M",[1365,1366,1367,1368,1369,1370,1371,1372],"journalctl команды","просмотр логов systemd","диагностика linux journalctl","как фильтровать логи systemd","journalctl ошибка не запускается","systemd journal очистка","journalctl мониторинг в реальном времени","анализ логов ubuntu","ru_RU",{},"/guides/linux/journalctl-troubleshooting","linux",[1378,1379,1380],"/guides/linux/systemd-service-management","/guides/linux/logrotate-configuration","/errors/linux/systemd-failed-to-start","Гайды по Linux",{"title":5,"description":1326},"guides/linux/journalctl-troubleshooting","Этот гайд научит вас использовать journalctl для диагностики проблем в Linux: от базовых команд до продвинутых фильтров. Вы сможете быстро находить ошибки, отслеживать работу служб и контролировать размер журнала.",[1376,1386,27,1387,1388,1389],"systemd","логи","troubleshooting","диагностика","guide","NWLpWlm2lyXfpEDF6aP0yKiR2RuNiswHi7apyr0nhT4",{"data":1393,"body":1394},{},{"type":1395,"children":1396},"root",[1397],{"type":1398,"tag":22,"props":1399,"children":1400},"element",{},[1401,1403,1408,1410,1416,1418,1424],{"type":1292,"value":1402},"Используйте флаг ",{"type":1398,"tag":25,"props":1404,"children":1406},{"className":1405},[],[1407],{"type":1292,"value":206},{"type":1292,"value":1409}," (since): ",{"type":1398,"tag":25,"props":1411,"children":1413},{"className":1412},[],[1414],{"type":1292,"value":1415},"journalctl -S \"1 hour ago\"",{"type":1292,"value":1417},". Можно комбинировать с ",{"type":1398,"tag":25,"props":1419,"children":1421},{"className":1420},[],[1422],{"type":1292,"value":1423},"-u",{"type":1292,"value":1425}," для конкретной службы.",{"data":1427,"body":1428},{},{"type":1395,"children":1429},[1430],{"type":1398,"tag":22,"props":1431,"children":1432},{},[1433,1435,1440,1442,1448,1450,1456,1458,1463],{"type":1292,"value":1434},"Отредактируйте ",{"type":1398,"tag":25,"props":1436,"children":1438},{"className":1437},[],[1439],{"type":1292,"value":973},{"type":1292,"value":1441},", изменив параметры ",{"type":1398,"tag":25,"props":1443,"children":1445},{"className":1444},[],[1446],{"type":1292,"value":1447},"SystemMaxUse",{"type":1292,"value":1449}," и ",{"type":1398,"tag":25,"props":1451,"children":1453},{"className":1452},[],[1454],{"type":1292,"value":1455},"SystemKeepFree",{"type":1292,"value":1457},". Затем перезапустите службу: ",{"type":1398,"tag":25,"props":1459,"children":1461},{"className":1460},[],[1462],{"type":1292,"value":1001},{"type":1292,"value":742},{"data":1465,"body":1466},{},{"type":1395,"children":1467},[1468],{"type":1398,"tag":22,"props":1469,"children":1470},{},[1471,1473,1479,1481,1486,1488,1494],{"type":1292,"value":1472},"Да, используйте ",{"type":1398,"tag":25,"props":1474,"children":1476},{"className":1475},[],[1477],{"type":1292,"value":1478},"journalctl -g \u003Cpattern>",{"type":1292,"value":1480},". Это эквивалентно ",{"type":1398,"tag":25,"props":1482,"children":1484},{"className":1483},[],[1485],{"type":1292,"value":631},{"type":1292,"value":1487}," для журнала. Пример: ",{"type":1398,"tag":25,"props":1489,"children":1491},{"className":1490},[],[1492],{"type":1292,"value":1493},"journalctl -g \"failed to start\"",{"type":1292,"value":742},{"data":1496,"body":1497},{},{"type":1395,"children":1498},[1499],{"type":1398,"tag":22,"props":1500,"children":1501},{},[1502,1504,1509,1511,1517,1519,1525],{"type":1292,"value":1503},"Журнал может быть отключен или очищен. Проверьте конфигурацию в ",{"type":1398,"tag":25,"props":1505,"children":1507},{"className":1506},[],[1508],{"type":1292,"value":973},{"type":1292,"value":1510}," (параметр ",{"type":1398,"tag":25,"props":1512,"children":1514},{"className":1513},[],[1515],{"type":1292,"value":1516},"Storage",{"type":1292,"value":1518},"). Если стоит ",{"type":1398,"tag":25,"props":1520,"children":1522},{"className":1521},[],[1523],{"type":1292,"value":1524},"volatile",{"type":1292,"value":1526},", логи хранятся только в RAM и сбрасываются после перезагрузки.",{"data":1528,"body":1529},{},{"type":1395,"children":1530},[1531],{"type":1398,"tag":22,"props":1532,"children":1533},{},[1534,1536,1541,1543,1548],{"type":1292,"value":1535},"Запустите ",{"type":1398,"tag":25,"props":1537,"children":1539},{"className":1538},[],[1540],{"type":1292,"value":27},{"type":1292,"value":1542}," без аргументов для вывода всего журнала. Используйте ",{"type":1398,"tag":25,"props":1544,"children":1546},{"className":1545},[],[1547],{"type":1292,"value":185},{"type":1292,"value":1549}," для выхода (less-подобный интерфейс).",{"data":1551,"body":1552},{},{"type":1395,"children":1553},[1554],{"type":1398,"tag":22,"props":1555,"children":1556},{},[1557,1559,1564,1566,1571,1573,1579],{"type":1292,"value":1558},"Используйте ",{"type":1398,"tag":25,"props":1560,"children":1562},{"className":1561},[],[1563],{"type":1292,"value":206},{"type":1292,"value":1565}," (с) и ",{"type":1398,"tag":25,"props":1567,"children":1569},{"className":1568},[],[1570],{"type":1292,"value":216},{"type":1292,"value":1572}," (до) для временного диапазона. Пример: ",{"type":1398,"tag":25,"props":1574,"children":1576},{"className":1575},[],[1577],{"type":1292,"value":1578},"journalctl -S \"2026-02-14 09:00:00\" -U \"2026-02-14 12:00:00\"",{"type":1292,"value":742},{"data":1581,"body":1582},{},{"type":1395,"children":1583},[1584],{"type":1398,"tag":22,"props":1585,"children":1586},{},[1587,1589,1595,1597,1603],{"type":1292,"value":1588},"Укажите ",{"type":1398,"tag":25,"props":1590,"children":1592},{"className":1591},[],[1593],{"type":1292,"value":1594},"-u \u003Cимя_службы>",{"type":1292,"value":1596}," для просмотра логов конкретного systemd-юнита. Пример: ",{"type":1398,"tag":25,"props":1598,"children":1600},{"className":1599},[],[1601],{"type":1292,"value":1602},"journalctl -u nginx.service",{"type":1292,"value":742},{"data":1605,"body":1606},{},{"type":1395,"children":1607},[1608],{"type":1398,"tag":22,"props":1609,"children":1610},{},[1611,1613,1619,1621,1627],{"type":1292,"value":1612},"Флаг ",{"type":1398,"tag":25,"props":1614,"children":1616},{"className":1615},[],[1617],{"type":1292,"value":1618},"-p",{"type":1292,"value":1620}," фильтрует по уровню: err, warning, info, debug и др. ",{"type":1398,"tag":25,"props":1622,"children":1624},{"className":1623},[],[1625],{"type":1292,"value":1626},"journalctl -p err",{"type":1292,"value":1628}," покажет только ошибки.",{"data":1630,"body":1631},{},{"type":1395,"children":1632},[1633],{"type":1398,"tag":22,"props":1634,"children":1635},{},[1636,1638,1643,1644,1650,1652,1657],{"type":1292,"value":1637},"Аналог ",{"type":1398,"tag":25,"props":1639,"children":1641},{"className":1640},[],[1642],{"type":1292,"value":579},{"type":1292,"value":359},{"type":1398,"tag":25,"props":1645,"children":1647},{"className":1646},[],[1648],{"type":1292,"value":1649},"journalctl -f",{"type":1292,"value":1651},". Добавьте ",{"type":1398,"tag":25,"props":1653,"children":1655},{"className":1654},[],[1656],{"type":1292,"value":1423},{"type":1292,"value":1658}," для отслеживания конкретной службы.",{"data":1660,"body":1661},{},{"type":1395,"children":1662},[1663],{"type":1398,"tag":22,"props":1664,"children":1665},{},[1666,1668,1674,1676,1682],{"type":1292,"value":1667},"Чтобы освободить место, выполните ",{"type":1398,"tag":25,"props":1669,"children":1671},{"className":1670},[],[1672],{"type":1292,"value":1673},"journalctl --vacuum-time=3d",{"type":1292,"value":1675}," (удалит записи старше 3 дней). Или ",{"type":1398,"tag":25,"props":1677,"children":1679},{"className":1678},[],[1680],{"type":1292,"value":1681},"--vacuum-size=100M",{"type":1292,"value":1683}," для ограничения размера.",[1685,2507,3529],{"id":1686,"title":1687,"appliesTo":1688,"author":12,"body":1691,"canonical":1324,"code":1324,"createdAt":2452,"description":2453,"difficulty":1327,"draft":1328,"estimatedTime":2454,"extension":1330,"faq":2455,"howToSteps":2468,"howToTotalTime":1363,"image":1324,"keywords":2487,"locale":1373,"meta":2496,"navigation":253,"path":1378,"platform":1376,"related":2497,"section":2500,"seo":2501,"severity":1324,"stem":2502,"summary":2503,"tags":2504,"twitterCreator":1324,"twitterSite":1324,"type":1390,"updatedAt":2452,"__hash__":2506},"content_ru/guides/linux/systemd-service-management.md","Управление systemd-сервисами: полное руководство по запуску, остановке и настройке",[8,1689,9,1690],"CentOS/RHEL 8+","Fedora",{"type":14,"value":1692,"toc":2441},[1693,1695,1698,1706,1708,1725,1729,1732,1842,1846,1852,1936,1938,1942,2045,2049,2054,2174,2178,2254,2256,2301,2303,2438],[17,1694,20],{"id":19},[22,1696,1697],{},"Systemd стал стандартом для управления службами и процессами в большинстве современных дистрибутивов Linux (Ubuntu, Fedora, CentOS/RHEL 8+, Debian 10+). Понимание его основ — обязательный навык для системного администратора и разработчика, работающего с серверами.",[22,1699,1700,1701,1449,1704,742],{},"Это руководство даст вам практические навыки для повседневного управления сервисами: запуск, остановка, настройка автозапуска и диагностика сбоев. Вы сможете уверенно работать с такими командами, как ",[25,1702,1703],{},"systemctl",[25,1705,27],{},[17,1707,72],{"id":71},[34,1709,1710,1716,1722],{},[37,1711,1712,1713,110],{},"Дистрибутив Linux с системой инициализации systemd (проверьте: ",[25,1714,1715],{},"pidof systemd",[37,1717,1718,1719,1721],{},"Доступ к терминалу с правами ",[40,1720,1026],{}," (для управления системными службами).",[37,1723,1724],{},"Базовое понимание командной строки.",[17,1726,1728],{"id":1727},"шаг-1-основные-команды-управления-состоянием-службы","Шаг 1: Основные команды управления состоянием службы",[22,1730,1731],{},"Systemctl — основной инструмент взаимодействия с systemd. Вот ключевые команды для управления состоянием:",[34,1733,1734,1764,1785,1806],{},[37,1735,1736,1739,1757],{},[40,1737,1738],{},"Запуск службы:",[144,1740,1742],{"className":146,"code":1741,"language":148,"meta":149,"style":149},"sudo systemctl start имя_службы.service\n",[25,1743,1744],{"__ignoreMap":149},[153,1745,1746,1748,1751,1754],{"class":155,"line":156},[153,1747,1026],{"class":159},[153,1749,1750],{"class":246}," systemctl",[153,1752,1753],{"class":246}," start",[153,1755,1756],{"class":246}," имя_службы.service\n",[1758,1759,1760,1761],"em",{},"Пример: ",[25,1762,1763],{},"sudo systemctl start nginx",[37,1765,1766,1769],{},[40,1767,1768],{},"Остановка службы:",[144,1770,1772],{"className":146,"code":1771,"language":148,"meta":149,"style":149},"sudo systemctl stop имя_службы.service\n",[25,1773,1774],{"__ignoreMap":149},[153,1775,1776,1778,1780,1783],{"class":155,"line":156},[153,1777,1026],{"class":159},[153,1779,1750],{"class":246},[153,1781,1782],{"class":246}," stop",[153,1784,1756],{"class":246},[37,1786,1787,1790],{},[40,1788,1789],{},"Перезапуск службы (мягкий):",[144,1791,1793],{"className":146,"code":1792,"language":148,"meta":149,"style":149},"sudo systemctl restart имя_службы.service\n",[25,1794,1795],{"__ignoreMap":149},[153,1796,1797,1799,1801,1804],{"class":155,"line":156},[153,1798,1026],{"class":159},[153,1800,1750],{"class":246},[153,1802,1803],{"class":246}," restart",[153,1805,1756],{"class":246},[37,1807,1808,1811,1827],{},[40,1809,1810],{},"Принудительная перезагрузка (kill и запуск):",[144,1812,1814],{"className":146,"code":1813,"language":148,"meta":149,"style":149},"sudo systemctl try-restart имя_службы.service\n",[25,1815,1816],{"__ignoreMap":149},[153,1817,1818,1820,1822,1825],{"class":155,"line":156},[153,1819,1026],{"class":159},[153,1821,1750],{"class":246},[153,1823,1824],{"class":246}," try-restart",[153,1826,1756],{"class":246},[112,1828,1829],{},[22,1830,116,1831,1834,1835,207,1838,1841],{},[40,1832,1833],{},"Совет:"," Для веб-серверов (nginx, apache) после изменения конфигурации используйте ",[25,1836,1837],{},"reload",[25,1839,1840],{},"sudo systemctl reload nginx","), чтобы перечитать конфиг без разрыва соединений.",[17,1843,1845],{"id":1844},"шаг-2-управление-автозагрузкой-включениеотключение","Шаг 2: Управление автозагрузкой (включение/отключение)",[22,1847,1848,1849,742],{},"Чтобы служба автоматически запускалась при загрузке системы, её нужно ",[1758,1850,1851],{},"включить",[34,1853,1854,1879,1900],{},[37,1855,1856,1859,1875,1876,742],{},[40,1857,1858],{},"Включить автозапуск:",[144,1860,1862],{"className":146,"code":1861,"language":148,"meta":149,"style":149},"sudo systemctl enable имя_службы.service\n",[25,1863,1864],{"__ignoreMap":149},[153,1865,1866,1868,1870,1873],{"class":155,"line":156},[153,1867,1026],{"class":159},[153,1869,1750],{"class":246},[153,1871,1872],{"class":246}," enable",[153,1874,1756],{"class":246},"\nЭта команда создаёт символьную ссылку на unit-файл в каталоге ",[25,1877,1878],{},"/etc/systemd/system/",[37,1880,1881,1884],{},[40,1882,1883],{},"Отключить автозапуск:",[144,1885,1887],{"className":146,"code":1886,"language":148,"meta":149,"style":149},"sudo systemctl disable имя_службы.service\n",[25,1888,1889],{"__ignoreMap":149},[153,1890,1891,1893,1895,1898],{"class":155,"line":156},[153,1892,1026],{"class":159},[153,1894,1750],{"class":246},[153,1896,1897],{"class":246}," disable",[153,1899,1756],{"class":246},[37,1901,1902,1905,1919,1920,1923,1924,1927,1928,1931,1932,1935],{},[40,1903,1904],{},"Проверить, включена ли служба в автозагрузку:",[144,1906,1908],{"className":146,"code":1907,"language":148,"meta":149,"style":149},"systemctl is-enabled имя_службы.service\n",[25,1909,1910],{"__ignoreMap":149},[153,1911,1912,1914,1917],{"class":155,"line":156},[153,1913,1703],{"class":159},[153,1915,1916],{"class":246}," is-enabled",[153,1918,1756],{"class":246},"\nВывод: ",[25,1921,1922],{},"enabled"," (включена), ",[25,1925,1926],{},"disabled"," (отключена), ",[25,1929,1930],{},"static"," (не может быть включена напрямую, но может быть зависимостью), ",[25,1933,1934],{},"masked"," (полностью заблокирована).",[855,1937],{},[17,1939,1941],{"id":1940},"шаг-3-просмотр-статуса-и-всех-служб","Шаг 3: Просмотр статуса и всех служб",[34,1943,1944,1972,1992,2014],{},[37,1945,1946,1949,1963,1964,1967,1968,1971],{},[40,1947,1948],{},"Детальный статус конкретной службы:",[144,1950,1952],{"className":146,"code":1951,"language":148,"meta":149,"style":149},"systemctl status имя_службы.service\n",[25,1953,1954],{"__ignoreMap":149},[153,1955,1956,1958,1961],{"class":155,"line":156},[153,1957,1703],{"class":159},[153,1959,1960],{"class":246}," status",[153,1962,1756],{"class":246},"\nВывод показывает: ",[25,1965,1966],{},"Active:"," (состояние), ",[25,1969,1970],{},"Main PID:"," (идентификатор процесса), и последние строки журнала этой службы.",[37,1973,1974,1977],{},[40,1975,1976],{},"Список всех загруженных (активных) юнитов:",[144,1978,1980],{"className":146,"code":1979,"language":148,"meta":149,"style":149},"systemctl list-units --type=service\n",[25,1981,1982],{"__ignoreMap":149},[153,1983,1984,1986,1989],{"class":155,"line":156},[153,1985,1703],{"class":159},[153,1987,1988],{"class":246}," list-units",[153,1990,1991],{"class":242}," --type=service\n",[37,1993,1994,1997],{},[40,1995,1996],{},"Список ВСЕХ доступных служб (включая неактивные):",[144,1998,2000],{"className":146,"code":1999,"language":148,"meta":149,"style":149},"systemctl list-units --type=service --all\n",[25,2001,2002],{"__ignoreMap":149},[153,2003,2004,2006,2008,2011],{"class":155,"line":156},[153,2005,1703],{"class":159},[153,2007,1988],{"class":246},[153,2009,2010],{"class":242}," --type=service",[153,2012,2013],{"class":242}," --all\n",[37,2015,2016,2019],{},[40,2017,2018],{},"Поиск службы по имени:",[144,2020,2022],{"className":146,"code":2021,"language":148,"meta":149,"style":149},"systemctl list-units --type=service --all | grep -i ssh\n",[25,2023,2024],{"__ignoreMap":149},[153,2025,2026,2028,2030,2032,2035,2037,2039,2042],{"class":155,"line":156},[153,2027,1703],{"class":159},[153,2029,1988],{"class":246},[153,2031,2010],{"class":242},[153,2033,2034],{"class":242}," --all",[153,2036,671],{"class":670},[153,2038,674],{"class":159},[153,2040,2041],{"class":242}," -i",[153,2043,2044],{"class":246}," ssh\n",[17,2046,2048],{"id":2047},"шаг-4-анализ-логов-с-помощью-journalctl","Шаг 4: Анализ логов с помощью journalctl",[22,2050,2051,2052,742],{},"Логи systemd хранятся в бинарном журнале, доступном через ",[25,2053,27],{},[34,2055,2056,2077,2103,2122,2148],{},[37,2057,2058,2061],{},[40,2059,2060],{},"Просмотр логов конкретной службы:",[144,2062,2064],{"className":146,"code":2063,"language":148,"meta":149,"style":149},"sudo journalctl -u имя_службы.service\n",[25,2065,2066],{"__ignoreMap":149},[153,2067,2068,2070,2073,2075],{"class":155,"line":156},[153,2069,1026],{"class":159},[153,2071,2072],{"class":246}," journalctl",[153,2074,350],{"class":242},[153,2076,1756],{"class":246},[37,2078,2079,2085],{},[40,2080,2081,2082,2084],{},"Отслеживание логов в реальном времени (аналог ",[25,2083,579],{},"):",[144,2086,2088],{"className":146,"code":2087,"language":148,"meta":149,"style":149},"sudo journalctl -u имя_службы.service -f\n",[25,2089,2090],{"__ignoreMap":149},[153,2091,2092,2094,2096,2098,2101],{"class":155,"line":156},[153,2093,1026],{"class":159},[153,2095,2072],{"class":246},[153,2097,350],{"class":242},[153,2099,2100],{"class":246}," имя_службы.service",[153,2102,596],{"class":242},[37,2104,2105,2108],{},[40,2106,2107],{},"Логи за последнюю загрузку системы:",[144,2109,2111],{"className":146,"code":2110,"language":148,"meta":149,"style":149},"sudo journalctl -b\n",[25,2112,2113],{"__ignoreMap":149},[153,2114,2115,2117,2119],{"class":155,"line":156},[153,2116,1026],{"class":159},[153,2118,2072],{"class":246},[153,2120,2121],{"class":242}," -b\n",[37,2123,2124,2127],{},[40,2125,2126],{},"Логи с фильтрацией по времени:",[144,2128,2130],{"className":146,"code":2129,"language":148,"meta":149,"style":149},"sudo journalctl --since \"2026-02-15 10:00:00\" --until \"2026-02-15 12:00:00\"\n",[25,2131,2132],{"__ignoreMap":149},[153,2133,2134,2136,2138,2140,2143,2145],{"class":155,"line":156},[153,2135,1026],{"class":159},[153,2137,2072],{"class":246},[153,2139,243],{"class":242},[153,2141,2142],{"class":246}," \"2026-02-15 10:00:00\"",[153,2144,294],{"class":242},[153,2146,2147],{"class":246}," \"2026-02-15 12:00:00\"\n",[37,2149,2150,2153],{},[40,2151,2152],{},"Показать логи с максимальной детализацией для службы:",[144,2154,2156],{"className":146,"code":2155,"language":148,"meta":149,"style":149},"sudo journalctl -u имя_службы.service -o verbose\n",[25,2157,2158],{"__ignoreMap":149},[153,2159,2160,2162,2164,2166,2168,2171],{"class":155,"line":156},[153,2161,1026],{"class":159},[153,2163,2072],{"class":246},[153,2165,350],{"class":242},[153,2167,2100],{"class":246},[153,2169,2170],{"class":242}," -o",[153,2172,2173],{"class":246}," verbose\n",[17,2175,2177],{"id":2176},"шаг-5-дополнительные-операции-перезагрузка-конфигурации-маскировка","Шаг 5: Дополнительные операции (перезагрузка конфигурации, маскировка)",[34,2179,2180,2199,2228],{},[37,2181,2182,2185],{},[40,2183,2184],{},"Перезагрузка конфигурации systemd (обязательно после создания/изменения unit-файлов):",[144,2186,2188],{"className":146,"code":2187,"language":148,"meta":149,"style":149},"sudo systemctl daemon-reload\n",[25,2189,2190],{"__ignoreMap":149},[153,2191,2192,2194,2196],{"class":155,"line":156},[153,2193,1026],{"class":159},[153,2195,1750],{"class":246},[153,2197,2198],{"class":246}," daemon-reload\n",[37,2200,2201,2204,2220,2221,2224,2225,742],{},[40,2202,2203],{},"Полная блокировка службы (mask) — предотвращает любой ручной или автоматический запуск:",[144,2205,2207],{"className":146,"code":2206,"language":148,"meta":149,"style":149},"sudo systemctl mask имя_службы.service\n",[25,2208,2209],{"__ignoreMap":149},[153,2210,2211,2213,2215,2218],{"class":155,"line":156},[153,2212,1026],{"class":159},[153,2214,1750],{"class":246},[153,2216,2217],{"class":246}," mask",[153,2219,1756],{"class":246},"\nСоздаёт символическую ссылку на ",[25,2222,2223],{},"/dev/null",". Разблокировка: ",[25,2226,2227],{},"sudo systemctl unmask имя_службы.service",[37,2229,2230,2233,2249,2250,2253],{},[40,2231,2232],{},"Принудительная остановка и сброс состояния службы:",[144,2234,2236],{"className":146,"code":2235,"language":148,"meta":149,"style":149},"sudo systemctl reset-failed имя_службы.service\n",[25,2237,2238],{"__ignoreMap":149},[153,2239,2240,2242,2244,2247],{"class":155,"line":156},[153,2241,1026],{"class":159},[153,2243,1750],{"class":246},[153,2245,2246],{"class":246}," reset-failed",[153,2248,1756],{"class":246},"\nПолезно, если служба в состоянии ",[25,2251,2252],{},"failed"," и не запускается после исправления ошибки.",[17,2255,860],{"id":859},[74,2257,2258,2274,2284],{},[37,2259,2260,2263,2264,2267,2268,2270,2271,742],{},[40,2261,2262],{},"Для проверки работы:"," выполните ",[25,2265,2266],{},"systemctl status имя_службы",". Убедитесь, что строка ",[25,2269,1966],{}," содержит ",[25,2272,2273],{},"active (running)",[37,2275,2276,2279,2280,2283],{},[40,2277,2278],{},"Для проверки автозагрузки:"," перезагрузите систему (",[25,2281,2282],{},"sudo reboot",") и после входа проверьте статус службы.",[37,2285,2286,2289,2290,2293,2294,334,2296,334,2298,110],{},[40,2287,2288],{},"Для проверки логов:"," убедитесь, что ",[25,2291,2292],{},"journalctl -u имя_службы"," не содержит ошибок (",[25,2295,2252],{},[25,2297,904],{},[25,2299,2300],{},"permission denied",[17,2302,956],{"id":955},[34,2304,2305,2331,2354,2375,2412],{},[37,2306,2307,2316],{},[40,2308,2309,2310,640,2313],{},"Ошибка ",[25,2311,2312],{},"Failed to start ...",[25,2314,2315],{},"Unit not found.",[34,2317,2318],{},[37,2319,2320,2323,2324,2327,2328,742],{},[40,2321,2322],{},"Причина:"," Unit-файл отсутствует или имеет неверное имя. Убедитесь, что служба существует: ",[25,2325,2326],{},"systemctl list-unit-files | grep имя_службы",". Проверьте синтаксис unit-файла: ",[25,2329,2330],{},"sudo systemd-analyze verify /etc/systemd/system/имя_службы.service",[37,2332,2333,2336],{},[40,2334,2335],{},"Служба запускается, но сразу же останавливается.",[34,2337,2338],{},[37,2339,2340,2342,2343,2346,2347,2350,2351,742],{},[40,2341,2322],{}," Ошибка в самом приложении или неверные параметры в секции ",[25,2344,2345],{},"[Service]"," (например, ",[25,2348,2349],{},"ExecStart"," указывает на несуществующий бинарник). Смотрите детальные логи: ",[25,2352,2353],{},"sudo journalctl -u имя_службы.service -n 50 --no-pager",[37,2355,2356,2362],{},[40,2357,2358,2361],{},[25,2359,2360],{},"Permission denied"," при попытке управления системной службой.",[34,2363,2364],{},[37,2365,2366,2368,2369,2371,2372,2374],{},[40,2367,2322],{}," Выполняете команду без ",[25,2370,1026],{},". Для управления системными службами (из ",[25,2373,1878],{},") требуются права root.",[37,2376,2377,2384],{},[40,2378,2379,2380,2383],{},"Служба не включается в автозагрузку (",[25,2381,2382],{},"enable"," не срабатывает).",[34,2385,2386],{},[37,2387,2388,2390,2391,2394,2395,640,2398,2401,2402,2405,2406,1449,2409,2411],{},[40,2389,2322],{}," Unit-файл имеет ",[25,2392,2393],{},"[Install]"," секцию, но не содержит ",[25,2396,2397],{},"WantedBy=",[25,2399,2400],{},"RequiredBy="," (чаще всего ",[25,2403,2404],{},"WantedBy=multi-user.target","). Добавьте эту строку в unit-файл и выполните ",[25,2407,2408],{},"daemon-reload",[25,2410,2382],{}," заново.",[37,2413,2414,2417],{},[40,2415,2416],{},"Циклические перезапуски (restart loop).",[34,2418,2419],{},[37,2420,2421,2423,2424,2270,2426,2429,2430,2433,2434,2437],{},[40,2422,2322],{}," В unit-файле секция ",[25,2425,2345],{},[25,2427,2428],{},"Restart=always"," (или ",[25,2431,2432],{},"on-failure","), а процесс немедленно завершается с ошибкой. Исправьте ошибку приложения или временно закомментируйте ",[25,2435,2436],{},"Restart"," для диагностики.",[1296,2439,2440],{},"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 .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}",{"title":149,"searchDepth":237,"depth":237,"links":2442},[2443,2444,2445,2446,2447,2448,2449,2450,2451],{"id":19,"depth":237,"text":20},{"id":71,"depth":237,"text":72},{"id":1727,"depth":237,"text":1728},{"id":1844,"depth":237,"text":1845},{"id":1940,"depth":237,"text":1941},{"id":2047,"depth":237,"text":2048},{"id":2176,"depth":237,"text":2177},{"id":859,"depth":237,"text":860},{"id":955,"depth":237,"text":956},"2026-02-16 12:40:35","Пошаговая инструкция по работе с systemd. Узнайте, как управлять службами Linux через systemctl: запуск, остановка, автозагрузка, просмотр логов. Решения для Ubuntu, CentOS, Debian.","15-30 мин",[2456,2459,2462,2465],{"answer":2457,"question":2458},"Используйте команду `systemctl status \u003Cимя_службы>`. В выводе ищите строку `Active: active (running)` для работающих сервисов.","Как проверить, работает ли служба systemd?",{"answer":2460,"question":2461},"Systemd обеспечивает параллельный запуск служб, имеет единую точку управления (systemctl), встроенный журнал (journalctl) и более сложные зависимости между сервисами.","Чем systemd отличается от старых init-скриптов (SysVinit)?",{"answer":2463,"question":2464},"Создайте файл `/etc/systemd/system/ваш-сервис.service` с корректными секциями `[Unit]`, `[Service]` и `[Install]`, затем выполните `systemctl daemon-reload`.","Как создать свой собственный unit-файл для сервиса?",{"answer":2466,"question":2467},"Возможные причины: ошибка в unit-файле, конфликт зависимостей, отсутствие требуемого устройства или файла. Проверьте логи: `journalctl -u \u003Cимя_службы> -b`.","Почему служба не запускается при загрузке, хотя включена через systemctl enable?",[2469,2472,2475,2478,2481,2484],{"name":2470,"text":2471},"Проверка статуса службы","Используйте `systemctl status \u003Cservice>` для получения подробной информации о состоянии, PID и последних записях журнала.",{"name":2473,"text":2474},"Базовое управление (start, stop, restart)","Запустите службу командой `systemctl start \u003Cservice>`, остановите `stop`, перезапустите `restart`.",{"name":2476,"text":2477},"Управление автозагрузкой","Включите автозапуск при загрузке системы: `systemctl enable \u003Cservice>`. Отключите: `systemctl disable \u003Cservice>`.",{"name":2479,"text":2480},"Просмотр всех служб и фильтрация","`systemctl list-units --type=service --all` показывает все unit-файлы. Используйте `grep` для поиска, например: `systemctl list-units | grep nginx`.",{"name":2482,"text":2483},"Работа с журналом (journalctl)","Просмотрите логи конкретной службы: `journalctl -u \u003Cservice> -f` (слежение в реальном времени).",{"name":2485,"text":2486},"Перезагрузка демона systemd","После ручного изменения unit-файлов выполните `systemctl daemon-reload`, чтобы systemd перечитал конфигурацию.",[2488,2489,2490,2491,2492,2493,2494,2495],"systemd управление сервисами","systemctl команды","как запустить службу в linux","systemd journal логи","включить автозагрузку службы","остановить systemd сервис","проверить статус службы","systemd service management",{},[2498,1380,2499],"/guides/linux/systemd-journal-logs","/guides/linux/crontab-vs-systemd-timers","Гайды Linux",{"title":1687,"description":2453},"guides/linux/systemd-service-management","В этом гайде вы освоите основные команды systemctl для управления службами в современных дистрибутивах Linux. Вы научитесь запускать, останавливать, включать в автозагрузку сервисы и диагностировать проблемы.",[1386,1376,2505,1390,1703],"sysadmin","9uE8OqlOsTa0iBKReZb5paRxhaZypg32oh1Z0Lq3y94",{"id":2508,"title":2509,"appliesTo":2510,"author":12,"body":2515,"canonical":1324,"code":1324,"createdAt":3470,"description":3471,"difficulty":1327,"draft":1328,"estimatedTime":2454,"extension":1330,"faq":3472,"howToSteps":3485,"howToTotalTime":3504,"image":1324,"keywords":3505,"locale":1373,"meta":3516,"navigation":253,"path":1379,"platform":1376,"related":3517,"section":2500,"seo":3521,"severity":1324,"stem":3522,"summary":3523,"tags":3524,"twitterCreator":1324,"twitterSite":1324,"type":1390,"updatedAt":3470,"__hash__":3528},"content_ru/guides/linux/logrotate-configuration.md","Настройка logrotate: полное руководство по управлению логами в Linux",[2511,2512,2513,2514,11],"Ubuntu 20.04/22.04","Debian 11/12","CentOS 8/Rocky 8","RHEL 8/9",{"type":14,"value":2516,"toc":3452},[2517,2521,2524,2526,2529,2553,2555,2559,2562,2574,2581,2586,2613,2618,2652,2657,2661,2664,2686,2689,2702,2714,2717,2732,2735,2741,2758,2762,2776,2791,2794,2899,2904,2976,2979,2983,2986,3137,3142,3148,3151,3155,3158,3174,3180,3186,3189,3193,3196,3212,3217,3223,3235,3238,3240,3305,3307,3311,3334,3338,3367,3371,3399,3403,3406,3431,3435,3449],[17,2518,2520],{"id":2519},"введение","Введение",[22,2522,2523],{},"Logrotate — это утилита для автоматического управления лог-файлами в Linux. Она предотвращает бесконтрольный рост логов, который может заполнить весь диск и привести к сбоям системы. С помощью logrotate вы настроите регулярную ротацию (переименование старых логов), сжатие архивов и удаление устаревших данных. После настройки процесс станет полностью автоматическим, а вы сэкономите время и место на диске.",[17,2525,72],{"id":71},[22,2527,2528],{},"Перед началом убедитесь, что:",[34,2530,2531,2538,2544,2550],{},[37,2532,2533,2534,2537],{},"На системе установлен пакет ",[25,2535,2536],{},"logrotate"," (обычно есть по умолчанию).",[37,2539,2540,2541,742],{},"У вас есть права суперпользователя (sudo) для редактирования конфигурационных файлов в ",[25,2542,2543],{},"/etc/",[37,2545,2546,2547,110],{},"Вы знаете пути к лог-файлам, которые хотите ротировать (например, ",[25,2548,2549],{},"/var/log/nginx/access.log",[37,2551,2552],{},"Рекомендуется базовое понимание структуры каталогов Linux и работы с текстовыми редакторами (nano, vim).",[855,2554],{},[17,2556,2558],{"id":2557},"шаг-1-проверка-установки-logrotate","Шаг 1: Проверка установки logrotate",[22,2560,2561],{},"Откройте терминал и выполните команду:",[144,2563,2565],{"className":146,"code":2564,"language":148,"meta":149,"style":149},"logrotate --version\n",[25,2566,2567],{"__ignoreMap":149},[153,2568,2569,2571],{"class":155,"line":156},[153,2570,2536],{"class":159},[153,2572,2573],{"class":242}," --version\n",[22,2575,2576,2577,2580],{},"Если вы видите версию (например, ",[25,2578,2579],{},"logrotate 3.18.0","), утилита установлена. Если команда не найдена, установите её:",[22,2582,2583],{},[40,2584,2585],{},"Для Debian/Ubuntu:",[144,2587,2589],{"className":146,"code":2588,"language":148,"meta":149,"style":149},"sudo apt update\nsudo apt install logrotate\n",[25,2590,2591,2601],{"__ignoreMap":149},[153,2592,2593,2595,2598],{"class":155,"line":156},[153,2594,1026],{"class":159},[153,2596,2597],{"class":246}," apt",[153,2599,2600],{"class":246}," update\n",[153,2602,2603,2605,2607,2610],{"class":155,"line":237},[153,2604,1026],{"class":159},[153,2606,2597],{"class":246},[153,2608,2609],{"class":246}," install",[153,2611,2612],{"class":246}," logrotate\n",[22,2614,2615],{},[40,2616,2617],{},"Для RHEL/CentOS/Fedora:",[144,2619,2621],{"className":146,"code":2620,"language":148,"meta":149,"style":149},"sudo yum install logrotate   # CentOS/RHEL 7\nsudo dnf install logrotate   # CentOS/RHEL 8+, Fedora\n",[25,2622,2623,2638],{"__ignoreMap":149},[153,2624,2625,2627,2630,2632,2635],{"class":155,"line":156},[153,2626,1026],{"class":159},[153,2628,2629],{"class":246}," yum",[153,2631,2609],{"class":246},[153,2633,2634],{"class":246}," logrotate",[153,2636,2637],{"class":233},"   # CentOS/RHEL 7\n",[153,2639,2640,2642,2645,2647,2649],{"class":155,"line":237},[153,2641,1026],{"class":159},[153,2643,2644],{"class":246}," dnf",[153,2646,2609],{"class":246},[153,2648,2634],{"class":246},[153,2650,2651],{"class":233},"   # CentOS/RHEL 8+, Fedora\n",[112,2653,2654],{},[22,2655,2656],{},"⚠️ Важно: На большинстве современных дистрибутивов logrotate предустановлен. Установка требуется редко.",[17,2658,2660],{"id":2659},"шаг-2-изучение-структуры-конфигурационных-файлов","Шаг 2: Изучение структуры конфигурационных файлов",[22,2662,2663],{},"Logrotate использует два типа конфигураций:",[74,2665,2666,2676],{},[37,2667,2668,2671,2672,2675],{},[40,2669,2670],{},"Главный файл"," — ",[25,2673,2674],{},"/etc/logrotate.conf",". Он содержит глобальные настройки (например, частоту запуска) и может включать другие конфиги.",[37,2677,2678,2681,2682,2685],{},[40,2679,2680],{},"Файлы приложений"," — в каталоге ",[25,2683,2684],{},"/etc/logrotate.d/",". Каждый файл отвечает за ротацию логов конкретного сервиса или приложения.",[22,2687,2688],{},"Посмотрите примеры:",[144,2690,2692],{"className":146,"code":2691,"language":148,"meta":149,"style":149},"ls /etc/logrotate.d/\n",[25,2693,2694],{"__ignoreMap":149},[153,2695,2696,2699],{"class":155,"line":156},[153,2697,2698],{"class":159},"ls",[153,2700,2701],{"class":246}," /etc/logrotate.d/\n",[22,2703,2704,2705,334,2708,334,2711,2713],{},"Вы увидите файлы для ",[25,2706,2707],{},"apt",[25,2709,2710],{},"dpkg",[25,2712,1185],{}," и других. Это поможет понять синтаксис.",[22,2715,2716],{},"Откройте главный конфиг:",[144,2718,2720],{"className":146,"code":2719,"language":148,"meta":149,"style":149},"sudo cat /etc/logrotate.conf\n",[25,2721,2722],{"__ignoreMap":149},[153,2723,2724,2726,2729],{"class":155,"line":156},[153,2725,1026],{"class":159},[153,2727,2728],{"class":246}," cat",[153,2730,2731],{"class":246}," /etc/logrotate.conf\n",[22,2733,2734],{},"Типичное содержимое:",[144,2736,2739],{"className":2737,"code":2738,"language":1292},[1291],"# see \"man logrotate\" for details\nweekly\nrotate 4\ncreate\ninclude /etc/logrotate.d\n",[25,2740,2738],{"__ignoreMap":149},[22,2742,2743,2744,2747,2748,2751,2752,2755,2756,742],{},"Здесь ",[25,2745,2746],{},"weekly"," — глобальная частота ротации (если не переопределено в локальных конфигах), ",[25,2749,2750],{},"rotate 4"," — хранить 4 архива, ",[25,2753,2754],{},"include"," — подключать конфиги из ",[25,2757,2684],{},[17,2759,2761],{"id":2760},"шаг-3-создание-конфигурационного-файла-для-вашего-приложения","Шаг 3: Создание конфигурационного файла для вашего приложения",[22,2763,2764,2765,2768,2769,334,2772,2775],{},"Предположим, ваше приложение пишет логи в ",[25,2766,2767],{},"/var/log/myapp/"," (файлы ",[25,2770,2771],{},"app.log",[25,2773,2774],{},"error.log","). Создайте конфиг:",[144,2777,2779],{"className":146,"code":2778,"language":148,"meta":149,"style":149},"sudo nano /etc/logrotate.d/myapp\n",[25,2780,2781],{"__ignoreMap":149},[153,2782,2783,2785,2788],{"class":155,"line":156},[153,2784,1026],{"class":159},[153,2786,2787],{"class":246}," nano",[153,2789,2790],{"class":246}," /etc/logrotate.d/myapp\n",[22,2792,2793],{},"Вставьте базовую конфигурацию:",[144,2795,2797],{"className":146,"code":2796,"language":148,"meta":149,"style":149},"/var/log/myapp/*.log {\n    daily\n    rotate 7\n    compress\n    delaycompress\n    missingok\n    notifempty\n    create 644 root root\n    sharedscripts\n    postrotate\n        systemctl restart myapp.service > /dev/null 2>&1 || true\n    endscript\n}\n",[25,2798,2799,2807,2812,2820,2825,2830,2835,2840,2854,2859,2864,2887,2893],{"__ignoreMap":149},[153,2800,2801,2804],{"class":155,"line":156},[153,2802,2803],{"class":159},"/var/log/myapp/*.log",[153,2805,2806],{"class":246}," {\n",[153,2808,2809],{"class":155,"line":237},[153,2810,2811],{"class":159},"    daily\n",[153,2813,2814,2817],{"class":155,"line":250},[153,2815,2816],{"class":159},"    rotate",[153,2818,2819],{"class":242}," 7\n",[153,2821,2822],{"class":155,"line":257},[153,2823,2824],{"class":159},"    compress\n",[153,2826,2827],{"class":155,"line":263},[153,2828,2829],{"class":159},"    delaycompress\n",[153,2831,2832],{"class":155,"line":273},[153,2833,2834],{"class":159},"    missingok\n",[153,2836,2837],{"class":155,"line":278},[153,2838,2839],{"class":159},"    notifempty\n",[153,2841,2842,2845,2848,2851],{"class":155,"line":284},[153,2843,2844],{"class":159},"    create",[153,2846,2847],{"class":242}," 644",[153,2849,2850],{"class":246}," root",[153,2852,2853],{"class":246}," root\n",[153,2855,2856],{"class":155,"line":300},[153,2857,2858],{"class":159},"    sharedscripts\n",[153,2860,2861],{"class":155,"line":305},[153,2862,2863],{"class":159},"    postrotate\n",[153,2865,2866,2869,2871,2873,2875,2878,2881,2884],{"class":155,"line":311},[153,2867,2868],{"class":159},"        systemctl",[153,2870,1803],{"class":246},[153,2872,1215],{"class":246},[153,2874,1222],{"class":670},[153,2876,2877],{"class":246}," /dev/null",[153,2879,2880],{"class":670}," 2>&1",[153,2882,2883],{"class":670}," ||",[153,2885,2886],{"class":242}," true\n",[153,2888,2890],{"class":155,"line":2889},12,[153,2891,2892],{"class":159},"    endscript\n",[153,2894,2896],{"class":155,"line":2895},13,[153,2897,2898],{"class":841},"}\n",[22,2900,2901],{},[40,2902,2903],{},"Краткое описание параметров:",[34,2905,2906,2911,2917,2923,2929,2935,2941,2947,2953,2967],{},[37,2907,2908,2910],{},[25,2909,2803],{}," — шаблон для лог-файлов.",[37,2912,2913,2916],{},[25,2914,2915],{},"daily"," — ротация каждый день.",[37,2918,2919,2922],{},[25,2920,2921],{},"rotate 7"," — хранить 7 архивов (старые будут удалены).",[37,2924,2925,2928],{},[25,2926,2927],{},"compress"," — сжимать архивы с помощью gzip.",[37,2930,2931,2934],{},[25,2932,2933],{},"delaycompress"," — сжимать не сразу, а на следующую ротацию (чтобы приложение могло писать в ещё не сжатый файл).",[37,2936,2937,2940],{},[25,2938,2939],{},"missingok"," — не выводить ошибку, если лог-файл отсутствует.",[37,2942,2943,2946],{},[25,2944,2945],{},"notifempty"," — не ротировать пустые файлы.",[37,2948,2949,2952],{},[25,2950,2951],{},"create 644 root root"," — создавать новый лог-файл с правами 644 и владельцем root:root.",[37,2954,2955,2958,2959,2962,2963,2966],{},[25,2956,2957],{},"sharedscripts"," — скрипты ",[25,2960,2961],{},"postrotate","/",[25,2964,2965],{},"prerotate"," выполняются один раз за весь набор файлов.",[37,2968,2969,2971,2972,2975],{},[25,2970,2961],{},"...",[25,2973,2974],{},"endscript"," — команды после ротации (здесь перезапуск сервиса, чтобы он начал писать в новый лог).",[22,2977,2978],{},"Сохраните файл (Ctrl+X, затем Y и Enter в nano).",[17,2980,2982],{"id":2981},"шаг-4-настройка-параметров-ротации","Шаг 4: Настройка параметров ротации",[22,2984,2985],{},"Конфигурация из шага 3 — хорошая база, но параметры нужно адаптировать под ваши задачи. Вот ключевые опции:",[397,2987,2988,3001],{},[400,2989,2990],{},[403,2991,2992,2995,2998],{},[406,2993,2994],{},"Параметр",[406,2996,2997],{},"Значение",[406,2999,3000],{},"Описание",[416,3002,3003,3020,3033,3047,3058,3069,3080,3096,3111,3123],{},[403,3004,3005,3014,3017],{},[421,3006,3007,2962,3009,2962,3011],{},[25,3008,2915],{},[25,3010,2746],{},[25,3012,3013],{},"monthly",[421,3015,3016],{},"—",[421,3018,3019],{},"Частота ротации.",[403,3021,3022,3027,3030],{},[421,3023,3024],{},[25,3025,3026],{},"rotate N",[421,3028,3029],{},"N — число",[421,3031,3032],{},"Количество архивов для хранения.",[403,3034,3035,3039,3041],{},[421,3036,3037],{},[25,3038,2927],{},[421,3040,3016],{},[421,3042,3043,3044,110],{},"Сжимать архивы gzip (расширение ",[25,3045,3046],{},".gz",[403,3048,3049,3053,3055],{},[421,3050,3051],{},[25,3052,2933],{},[421,3054,3016],{},[421,3056,3057],{},"Отложить сжатие на следующую ротацию (рекомендуется для активных логов).",[403,3059,3060,3064,3066],{},[421,3061,3062],{},[25,3063,2939],{},[421,3065,3016],{},[421,3067,3068],{},"Игнорировать отсутствующие файлы.",[403,3070,3071,3075,3077],{},[421,3072,3073],{},[25,3074,2945],{},[421,3076,3016],{},[421,3078,3079],{},"Не ротировать пустые файлы.",[403,3081,3082,3087,3093],{},[421,3083,3084],{},[25,3085,3086],{},"maxsize SIZE",[421,3088,3089,3090],{},"Например, ",[25,3091,3092],{},"100M",[421,3094,3095],{},"Ротировать, если размер превышает (даже если не прошло время).",[403,3097,3098,3103,3108],{},[421,3099,3100],{},[25,3101,3102],{},"size SIZE",[421,3104,3089,3105],{},[25,3106,3107],{},"50M",[421,3109,3110],{},"Ротировать по размеру (игнорирует частоту).",[403,3112,3113,3118,3120],{},[421,3114,3115],{},[25,3116,3117],{},"create MODE OWNER GROUP",[421,3119,3016],{},[421,3121,3122],{},"Создавать новый лог-файл с указанными правами и владельцем.",[403,3124,3125,3131,3134],{},[421,3126,3127,2962,3129],{},[25,3128,2961],{},[25,3130,2965],{},[421,3132,3133],{},"команды",[421,3135,3136],{},"Выполнить скрипт до/после ротации (часто для переоткрытия логов).",[22,3138,3139],{},[40,3140,3141],{},"Пример для ротации по размеру:",[144,3143,3146],{"className":3144,"code":3145,"language":1292},[1291],"/var/log/myapp/*.log {\n    size 100M\n    rotate 5\n    compress\n    missingok\n    notifempty\n    create 644 root root\n}\n",[25,3147,3145],{"__ignoreMap":149},[22,3149,3150],{},"Здесь логи будут ротироваться, как только достигнут 100 МБ, но не чаще чем раз в день (если не указана частота).",[17,3152,3154],{"id":3153},"шаг-5-тестирование-конфигурации","Шаг 5: Тестирование конфигурации",[22,3156,3157],{},"Перед запуском в production проверьте конфиг:",[144,3159,3161],{"className":146,"code":3160,"language":148,"meta":149,"style":149},"sudo logrotate -d /etc/logrotate.conf\n",[25,3162,3163],{"__ignoreMap":149},[153,3164,3165,3167,3169,3172],{"class":155,"line":156},[153,3166,1026],{"class":159},[153,3168,2634],{"class":246},[153,3170,3171],{"class":242}," -d",[153,3173,2731],{"class":246},[22,3175,1612,3176,3179],{},[25,3177,3178],{},"-d"," (debug) показывает, какие действия будут выполнены, но не вносит изменения. Вывод будет содержать строки вида:",[144,3181,3184],{"className":3182,"code":3183,"language":1292},[1291],"reading config file /etc/logrotate.conf\nincluding /etc/logrotate.d\n...\nrotating pattern: /var/log/myapp/*.log  after 1 days (7 rotations)\nempty log files are not rotated, old logs are removed\n...\n",[25,3185,3183],{"__ignoreMap":149},[22,3187,3188],{},"Если есть ошибки (например, \"error: bad directive\"), исправьте конфиг.",[17,3190,3192],{"id":3191},"шаг-6-принудительный-запуск-и-автоматизация","Шаг 6: Принудительный запуск и автоматизация",[22,3194,3195],{},"Для немедленной ротации (например, чтобы проверить работу) выполните:",[144,3197,3199],{"className":146,"code":3198,"language":148,"meta":149,"style":149},"sudo logrotate -f /etc/logrotate.conf\n",[25,3200,3201],{"__ignoreMap":149},[153,3202,3203,3205,3207,3210],{"class":155,"line":156},[153,3204,1026],{"class":159},[153,3206,2634],{"class":246},[153,3208,3209],{"class":242}," -f",[153,3211,2731],{"class":246},[22,3213,1612,3214,3216],{},[25,3215,583],{}," (force) игнорирует временные ограничения.",[22,3218,3219,3222],{},[40,3220,3221],{},"Автоматизация:"," Logrotate обычно запускается ежедневно через cron. Проверьте задачу:",[144,3224,3226],{"className":146,"code":3225,"language":148,"meta":149,"style":149},"ls /etc/cron.daily/logrotate\n",[25,3227,3228],{"__ignoreMap":149},[153,3229,3230,3232],{"class":155,"line":156},[153,3231,2698],{"class":159},[153,3233,3234],{"class":246}," /etc/cron.daily/logrotate\n",[22,3236,3237],{},"Если файл существует, cron будет запускать logrotate автоматически (обычно в 6:25 утра). Для изменения времени отредактируйте файл или настройте аналог через systemd timer (в современных системах).",[17,3239,860],{"id":859},[74,3241,3242,3260,3283,3286],{},[37,3243,3244,3245],{},"Перейдите в каталог с логами:\n",[144,3246,3248],{"className":146,"code":3247,"language":148,"meta":149,"style":149},"ls -lh /var/log/myapp/\n",[25,3249,3250],{"__ignoreMap":149},[153,3251,3252,3254,3257],{"class":155,"line":156},[153,3253,2698],{"class":159},[153,3255,3256],{"class":242}," -lh",[153,3258,3259],{"class":246}," /var/log/myapp/\n",[37,3261,3262,3263],{},"Вы должны увидеть:\n",[34,3264,3265,3270],{},[37,3266,3267,3268,110],{},"Активный лог-файл (например, ",[25,3269,2771],{},[37,3271,3272,3273,334,3276,3279,3280,742],{},"Сжатые архивы (например, ",[25,3274,3275],{},"app.log.1.gz",[25,3277,3278],{},"app.log.2.gz"," и т.д.) в зависимости от параметра ",[25,3281,3282],{},"rotate",[37,3284,3285],{},"Проверьте размеры: активный лог должен быть небольшим (если ротация прошла), архивы — сжаты.",[37,3287,3288,3289],{},"Также проверьте системный журнал на наличие ошибок logrotate:\n",[144,3290,3292],{"className":146,"code":3291,"language":148,"meta":149,"style":149},"sudo grep logrotate /var/log/syslog\n",[25,3293,3294],{"__ignoreMap":149},[153,3295,3296,3298,3300,3302],{"class":155,"line":156},[153,3297,1026],{"class":159},[153,3299,674],{"class":246},[153,3301,2634],{"class":246},[153,3303,3304],{"class":246}," /var/log/syslog\n",[17,3306,956],{"id":955},[129,3308,3310],{"id":3309},"ошибка-доступа-к-лог-файлам","Ошибка доступа к лог-файлам",[112,3312,3313,3319],{},[22,3314,3315,3316,3318],{},"💡 Если в логах или при запуске logrotate появляются ",[25,3317,2360],{},", убедитесь, что:",[34,3320,3321,3324],{},[37,3322,3323],{},"Файлы логов доступны для чтения пользователю, от которого запущен logrotate (обычно root).",[37,3325,3326,3327,2346,3330,3333],{},"В конфиге указан правильный владелец в ",[25,3328,3329],{},"create",[25,3331,3332],{},"create 644 www-data www-data"," для веб-сервера).",[129,3335,3337],{"id":3336},"логи-не-ротируются-по-расписанию","Логи не ротируются по расписанию",[34,3339,3340,3351,3361],{},[37,3341,3342,3343,3346,3347,3350],{},"Проверьте, работает ли cron: ",[25,3344,3345],{},"sudo systemctl status cron"," (Debian/Ubuntu) или ",[25,3348,3349],{},"sudo systemctl status crond"," (RHEL/CentOS).",[37,3352,3353,3354,3357,3358,110],{},"Убедитесь, что файл ",[25,3355,3356],{},"/etc/cron.daily/logrotate"," существует и исполняем (",[25,3359,3360],{},"ls -l /etc/cron.daily/logrotate",[37,3362,3363,3364,742],{},"Если используется systemd timer, проверьте: ",[25,3365,3366],{},"sudo systemctl status logrotate.timer",[129,3368,3370],{"id":3369},"сжатие-не-происходит","Сжатие не происходит",[34,3372,3373,3383,3390],{},[37,3374,3375,3376,3379,3380,742],{},"Убедитесь, что установлен ",[25,3377,3378],{},"gzip"," (обычно есть по умолчанию). Проверьте: ",[25,3381,3382],{},"which gzip",[37,3384,3385,3386,2429,3388,110],{},"В конфиге должен быть параметр ",[25,3387,2927],{},[25,3389,2933],{},[37,3391,3392,3393,2346,3396,110],{},"Если нужно сжимать другими алгоритмами (bzip2, xz), укажите ",[25,3394,3395],{},"compresscmd",[25,3397,3398],{},"compresscmd /usr/bin/bzip2",[129,3400,3402],{"id":3401},"приложение-продолжает-писать-в-старый-лог-после-ротации","Приложение продолжает писать в старый лог после ротации",[22,3404,3405],{},"Это частая проблема: после переименования лог-файла приложение не осознаёт этого и продолжает писать в старый дескриптор. Решение:",[34,3407,3408,3420],{},[37,3409,3410,3411,3413,3414],{},"В блоке ",[25,3412,2961],{}," добавьте команду для переоткрытия логов. Например, для nginx:\n",[144,3415,3418],{"className":3416,"code":3417,"language":1292},[1291],"postrotate\n    [ ! -f /var/run/nginx.pid ] || kill -USR1 `cat /var/run/nginx.pid`\nendscript\n",[25,3419,3417],{"__ignoreMap":149},[37,3421,3422,3423,3426,3427,3430],{},"Для systemd-сервисов часто помогает ",[25,3424,3425],{},"systemctl restart service",", но это может привести к кратковременному простою. Альтернатива — использовать ",[25,3428,3429],{},"kill -HUP"," (если приложение поддерживает).",[129,3432,3434],{"id":3433},"конфликты-конфигураций","Конфликты конфигураций",[34,3436,3437,3443],{},[37,3438,3439,3440,3442],{},"Logrotate обрабатывает файлы в ",[25,3441,2684],{}," в алфавитном порядке. Если два конфига пересекаются по одному лог-файлу, победит последний (по алфавиту). Избегайте дублирования.",[37,3444,3445,3446,3448],{},"Глобальные настройки из ",[25,3447,2674],{}," применяются, только если не переопределены в локальном конфиге.",[1296,3450,3451],{},"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 .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}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}",{"title":149,"searchDepth":237,"depth":237,"links":3453},[3454,3455,3456,3457,3458,3459,3460,3461,3462,3463],{"id":2519,"depth":237,"text":2520},{"id":71,"depth":237,"text":72},{"id":2557,"depth":237,"text":2558},{"id":2659,"depth":237,"text":2660},{"id":2760,"depth":237,"text":2761},{"id":2981,"depth":237,"text":2982},{"id":3153,"depth":237,"text":3154},{"id":3191,"depth":237,"text":3192},{"id":859,"depth":237,"text":860},{"id":955,"depth":237,"text":956,"children":3464},[3465,3466,3467,3468,3469],{"id":3309,"depth":250,"text":3310},{"id":3336,"depth":250,"text":3337},{"id":3369,"depth":250,"text":3370},{"id":3401,"depth":250,"text":3402},{"id":3433,"depth":250,"text":3434},"2026-02-15 16:41:12","Узнайте, как настроить logrotate для автоматического управления логами в Linux. Пошаговая инструкция с примерами конфигурации. Оптимизируйте использование диска уже сегодня!",[3473,3476,3479,3482],{"answer":3474,"question":3475},"Запустите `sudo logrotate -d /etc/logrotate.conf` для тестового прогона. Это покажет, какие действия будут выполнены без реальных изменений.","Как проверить, что logrotate работает корректно?",{"answer":3477,"question":3478},"Да, создайте отдельный конфиг в `/etc/logrotate.d/` и укажите путь к логам. Это рекомендуется для приложений.","Можно ли настроить logrotate для конкретного каталога логов?",{"answer":3480,"question":3481},"Убедитесь, что cron-задача `/etc/cron.daily/logrotate` активна и имеет права на выполнение. Проверьте системный журнал на наличие ошибок.","Что делать, если логи не ротируются по расписанию?",{"answer":3483,"question":3484},"Используйте параметр `compress` в конфиге. Logrotate сжимает с помощью gzip по умолчанию, что сохраняет оригинальные логи в архивированном виде.","Как сжать логи без потери данных?",[3486,3489,3492,3495,3498,3501],{"name":3487,"text":3488},"Проверка установки logrotate","Откройте терминал и выполните `logrotate --version`. Если команда не найдена, установите пакет через менеджер пакетов вашего дистрибутива.",{"name":3490,"text":3491},"Изучение структуры конфигурации","Основной конфиг находится в `/etc/logrotate.conf`. Дополнительные конфигурации для конкретных приложений размещаются в `/etc/logrotate.d/`. Изучите примеры в этом каталоге.",{"name":3493,"text":3494},"Создание конфигурационного файла","Для вашего приложения создайте файл в `/etc/logrotate.d/`, например, `myapp`. Определите путь к лог-файлам и параметры ротации.",{"name":3496,"text":3497},"Настройка параметров ротации","Укажите частоту (`daily`, `weekly`), количество архивов (`rotate`), сжатие (`compress`), и другие опции. Пример конфига приведён ниже.",{"name":3499,"text":3500},"Тестирование конфигурации","Выполните `sudo logrotate -d /etc/logrotate.conf` для сухого прогона. Это покажет, какие файлы будут обработаны.",{"name":3502,"text":3503},"Принудительный запуск и проверка","Запустите `sudo logrotate -f /etc/logrotate.conf` для немедленной ротации. Проверьте каталог с логами: должны появиться сжатые архивы и новый лог-файл.","PT25M",[3506,3507,3508,3509,3510,3511,3512,3513,3514,3515],"настройка logrotate linux","logrotate конфигурация","ротация логов linux","logrotate примеры конфига","управление логами linux","logrotate compression","logrotate rotate","logrotate не работает","logrotate для nginx","automatic log rotation linux",{},[3518,3519,3520],"/guides/linux/cron-basics","/guides/linux/disk-usage-monitoring","/errors/linux/logrotate-failed",{"title":2509,"description":3471},"guides/linux/logrotate-configuration","Настройте logrotate для автоматического управления логами в Linux. Пошагово создайте конфигурации для ротации, сжатия и удаления старых логов.",[1376,2536,3525,1387,2505,3526,3527],"администрирование","cron","configuration","M3HVwVO0zWPJbHVYgNVt0A8qq4oeu2kdJim4ScejP3g",{"id":3530,"title":3531,"appliesTo":3532,"author":12,"body":3535,"canonical":1324,"code":4379,"createdAt":4380,"description":4381,"difficulty":1327,"draft":1328,"estimatedTime":4382,"extension":1330,"faq":4383,"howToSteps":4396,"howToTotalTime":1363,"image":1324,"keywords":4415,"locale":1373,"meta":4424,"navigation":253,"path":1380,"platform":1376,"related":4425,"section":4429,"seo":4430,"severity":4431,"stem":4432,"summary":4433,"tags":4434,"twitterCreator":1324,"twitterSite":1324,"type":904,"updatedAt":4380,"__hash__":4438},"content_ru/errors/linux/systemd-failed-to-start.md","systemd-failed-to-start: причины и методы исправления ошибки запуска",[7,8,3533,3534,11],"Debian 11+","CentOS 8+",{"type":14,"value":3536,"toc":4363},[3537,3544,3554,3560,3573,3577,3580,3653,3657,3663,3666,3738,3752,3756,3759,3878,3882,3987,3991,3994,4078,4082,4148,4150,4154,4157,4279,4283,4286,4360],[17,3538,3540,3541],{"id":3539},"что-означает-ошибка-systemd-failed-to-start","Что означает ошибка ",[25,3542,3543],{},"systemd-failed-to-start",[22,3545,2309,3546,3549,3550,3553],{},[40,3547,3548],{},"Failed to start"," — это общий статус, который systemd присваивает службе (юниту), когда процесс её запуска завершился с ненулевым кодом возврата, превысил заданный таймаут или столкнулся с критической проблемой при инициализации. В выводе команды ",[25,3551,3552],{},"systemctl status"," она выглядит как:",[144,3555,3558],{"className":3556,"code":3557,"language":1292},[1291],"● some-service.service - Some Service Description\n   Loaded: loaded (/etc/systemd/system/some-service.service; enabled; vendor preset: enabled)\n   Active: **failed** (Result: exit-code) since Thu 2026-02-15 10:30:00 MSK; 1min 30s ago\n  Process: 1234 ExecStart=/usr/bin/some-service (code=exited, status=1/FAILURE)\n",[25,3559,3557],{"__ignoreMap":149},[22,3561,3562,3563,1449,3566,2429,3569,3572],{},"Ключевые флаги: ",[25,3564,3565],{},"Active: failed",[25,3567,3568],{},"Result: exit-code",[25,3570,3571],{},"timeout","). Эта ошибка блокирует работу сервиса и может помешать загрузке системы, если юнит критичен.",[17,3574,3576],{"id":3575},"причины-возникновения","Причины возникновения",[22,3578,3579],{},"Причины носят конкретный технический характер:",[74,3581,3582,3602,3615,3621,3634,3643],{},[37,3583,3584,207,3587,3589,3590,3592,3593,334,3595,3598,3599,3601],{},[40,3585,3586],{},"Некорректный конфигурационный файл юнита",[25,3588,109],{},"). Ошибки в секциях ",[25,3591,2345],{}," (неверный путь в ",[25,3594,2349],{},[25,3596,3597],{},"ExecStartPre","), ",[25,3600,2393],{}," или синтаксис.",[37,3603,3604,3607,3608,3611,3612,110],{},[40,3605,3606],{},"Недостаток прав доступа",". Служба пытается прочитать/записать в каталог, к которому у неё нет прав (например, ",[25,3609,3610],{},"/var/log/app/","), или запускается от неправильного пользователя (",[25,3613,3614],{},"User=",[37,3616,3617,3620],{},[40,3618,3619],{},"Конфликт ресурсов",". Порт уже занят другим процессом, недостаточно памяти (OOM Killer), не хватает дескрипторов файлов.",[37,3622,3623,3626,3627,640,3630,3633],{},[40,3624,3625],{},"Зависимости не выполнены",". Указанные в ",[25,3628,3629],{},"Requires=",[25,3631,3632],{},"After="," службы не запустились или завершились с ошибкой.",[37,3635,3636,3639,3640,3642],{},[40,3637,3638],{},"Повреждение бинарного файла или зависимостей приложения",". Файл, указанный в ",[25,3641,2349],{},", отсутствует, неисправен или не может загрузить нужные библиотеки.",[37,3644,3645,3648,3649,3652],{},[40,3646,3647],{},"Превышение таймаута",". Приложение долго не отвечает на запросы инициализации, и systemd убивает его по истечении ",[25,3650,3651],{},"TimeoutStartSec="," (по умолчанию 90 сек).",[17,3654,3656],{"id":3655},"способы-решения","Способы решения",[129,3658,3660,3661],{"id":3659},"способ-1-анализ-логов-службы-через-journalctl","Способ 1: Анализ логов службы через ",[25,3662,27],{},[22,3664,3665],{},"Это первый и самый важный шаг. Логи systemd содержат детальный вывод программы.",[74,3667,3668,3674,3698,3714],{},[37,3669,3670,3671,110],{},"Узнайте точное имя службы (например, ",[25,3672,3673],{},"nginx.service",[37,3675,3676,3677,1073,3680],{},"Выполните команду для просмотра логов ",[40,3678,3679],{},"за текущую загрузку",[144,3681,3683],{"className":146,"code":3682,"language":148,"meta":149,"style":149},"journalctl -u nginx.service -b --no-pager\n",[25,3684,3685],{"__ignoreMap":149},[153,3686,3687,3689,3691,3693,3695],{"class":155,"line":156},[153,3688,27],{"class":159},[153,3690,350],{"class":242},[153,3692,884],{"class":246},[153,3694,921],{"class":242},[153,3696,3697],{"class":242}," --no-pager\n",[37,3699,3700,3701,334,3703,334,3706,334,3709,334,3711,742],{},"Внимательно изучите последние 20-30 строк. Ищите слова ",[40,3702,901],{},[40,3704,3705],{},"Error",[40,3707,3708],{},"(code=exited, status=...)",[40,3710,2360],{},[40,3712,3713],{},"No such file or directory",[37,3715,3716,3717],{},"Если лог обширный, фильтруйте по уровню ошибки:\n",[144,3718,3720],{"className":146,"code":3719,"language":148,"meta":149,"style":149},"journalctl -u nginx.service -b -p err --no-pager\n",[25,3721,3722],{"__ignoreMap":149},[153,3723,3724,3726,3728,3730,3732,3734,3736],{"class":155,"line":156},[153,3725,27],{"class":159},[153,3727,350],{"class":242},[153,3729,884],{"class":246},[153,3731,921],{"class":242},[153,3733,530],{"class":242},[153,3735,889],{"class":246},[153,3737,3697],{"class":242},[112,3739,3740],{},[22,3741,116,3742,3744,3745,3748,3749,3751],{},[40,3743,119],{},": Добавьте флаг ",[25,3746,3747],{},"-e"," для открытия лога сразу в конце, или ",[25,3750,583],{}," для отслеживания в реальном времени при перезапуске службы.",[129,3753,3755],{"id":3754},"способ-2-проверка-и-исправление-конфигурационного-файла","Способ 2: Проверка и исправление конфигурационного файла",[22,3757,3758],{},"Ошибки в юнит-файле — частая причина.",[74,3760,3761,3789,3811,3863],{},[37,3762,3763,3764],{},"Найдите файл службы:\n",[144,3765,3767],{"className":146,"code":3766,"language":148,"meta":149,"style":149},"systemctl status nginx.service | grep Loaded\n# Вывод: Loaded: loaded (/etc/systemd/system/nginx.service; enabled; ...)\n",[25,3768,3769,3784],{"__ignoreMap":149},[153,3770,3771,3773,3775,3777,3779,3781],{"class":155,"line":156},[153,3772,1703],{"class":159},[153,3774,1960],{"class":246},[153,3776,884],{"class":246},[153,3778,671],{"class":670},[153,3780,674],{"class":159},[153,3782,3783],{"class":246}," Loaded\n",[153,3785,3786],{"class":155,"line":237},[153,3787,3788],{"class":233},"# Вывод: Loaded: loaded (/etc/systemd/system/nginx.service; enabled; ...)\n",[37,3790,3791,3792,3810],{},"Проверьте синтаксис:\n",[144,3793,3795],{"className":146,"code":3794,"language":148,"meta":149,"style":149},"sudo systemd-analyze verify /etc/systemd/system/nginx.service\n",[25,3796,3797],{"__ignoreMap":149},[153,3798,3799,3801,3804,3807],{"class":155,"line":156},[153,3800,1026],{"class":159},[153,3802,3803],{"class":246}," systemd-analyze",[153,3805,3806],{"class":246}," verify",[153,3808,3809],{"class":246}," /etc/systemd/system/nginx.service\n","\nКоманда покажет строку с ошибкой, если она есть (например, \"Invalid command 'Execstar', not part of a unit configuration\").",[37,3812,3813,3814,3817,3818],{},"Откройте файл в редакторе (",[25,3815,3816],{},"sudo nano /etc/systemd/system/nginx.service",") и проверьте:\n",[34,3819,3820,3834,3844,3856],{},[37,3821,3822,3823,334,3825,3827,3828,640,3831,466],{},"Пути в ",[25,3824,2349],{},[25,3826,3597],{},": существуют ли они? (",[25,3829,3830],{},"which some-binary",[25,3832,3833],{},"ls -la /path/to/file",[37,3835,3836,3837,3840,3841,110],{},"Права на исполняемый файл (",[25,3838,3839],{},"ls -l /usr/bin/some-binary"," — должен быть ",[25,3842,3843],{},"-rwxr-xr-x",[37,3845,3846,3847,3849,3850,1449,3852,3855],{},"Секцию ",[25,3848,2345],{},": правильно ли указаны ",[25,3851,3614],{},[25,3853,3854],{},"Group=","? Существует ли такой пользователь/группа?",[37,3857,3858,3859,3862],{},"Директиву ",[25,3860,3861],{},"WorkingDirectory=",": существует ли каталог?",[37,3864,3865,3866],{},"После исправлений выполните:\n",[144,3867,3868],{"className":146,"code":2187,"language":148,"meta":149,"style":149},[25,3869,3870],{"__ignoreMap":149},[153,3871,3872,3874,3876],{"class":155,"line":156},[153,3873,1026],{"class":159},[153,3875,1750],{"class":246},[153,3877,2198],{"class":246},[129,3879,3881],{"id":3880},"способ-3-проверка-зависимостей-и-конфликтов-портовресурсов","Способ 3: Проверка зависимостей и конфликтов портов/ресурсов",[74,3883,3884,3916,3941],{},[37,3885,3886,3889,3890,3915],{},[40,3887,3888],{},"Проверьте, не занят ли порт"," (если служба сетевая):\n",[144,3891,3893],{"className":146,"code":3892,"language":148,"meta":149,"style":149},"sudo ss -tulpn | grep :80  # Замените 80 на порт вашей службы\n",[25,3894,3895],{"__ignoreMap":149},[153,3896,3897,3899,3902,3905,3907,3909,3912],{"class":155,"line":156},[153,3898,1026],{"class":159},[153,3900,3901],{"class":246}," ss",[153,3903,3904],{"class":242}," -tulpn",[153,3906,671],{"class":670},[153,3908,674],{"class":159},[153,3910,3911],{"class":246}," :80",[153,3913,3914],{"class":233},"  # Замените 80 на порт вашей службы\n","\nЕсли порт занят другим процессом, найдите и остановите его или измените порт в конфиге службы.",[37,3917,3918,1073,3921,3938,3939,742],{},[40,3919,3920],{},"Проверьте, все ли требуемые службы работают",[144,3922,3924],{"className":146,"code":3923,"language":148,"meta":149,"style":149},"systemctl list-dependencies nginx.service --reverse\n",[25,3925,3926],{"__ignoreMap":149},[153,3927,3928,3930,3933,3935],{"class":155,"line":156},[153,3929,1703],{"class":159},[153,3931,3932],{"class":246}," list-dependencies",[153,3934,884],{"class":246},[153,3936,3937],{"class":242}," --reverse\n","\nЭто покажет, какие службы зависят от nginx. Убедитесь, что они в состоянии ",[25,3940,2273],{},[37,3942,3943,1073,3946,3986],{},[40,3944,3945],{},"Проверьте наличие свободных ресурсов",[144,3947,3949],{"className":146,"code":3948,"language":148,"meta":149,"style":149},"free -h        # Память\ndf -h /var     # Дисковое пространство (особенно для логов)\nulimit -n      # Лимит дескрипторов файлов (может быть мал)\n",[25,3950,3951,3962,3975],{"__ignoreMap":149},[153,3952,3953,3956,3959],{"class":155,"line":156},[153,3954,3955],{"class":159},"free",[153,3957,3958],{"class":242}," -h",[153,3960,3961],{"class":233},"        # Память\n",[153,3963,3964,3967,3969,3972],{"class":155,"line":237},[153,3965,3966],{"class":159},"df",[153,3968,3958],{"class":242},[153,3970,3971],{"class":246}," /var",[153,3973,3974],{"class":233},"     # Дисковое пространство (особенно для логов)\n",[153,3976,3977,3980,3983],{"class":155,"line":250},[153,3978,3979],{"class":242},"ulimit",[153,3981,3982],{"class":242}," -n",[153,3984,3985],{"class":233},"      # Лимит дескрипторов файлов (может быть мал)\n","\nНедостаток любого ресурса может привести к падению службы при старте.",[129,3988,3990],{"id":3989},"способ-4-восстановление-из-пакета-или-ручная-переустановка","Способ 4: Восстановление из пакета или ручная переустановка",[22,3992,3993],{},"Если служба установлена из пакетного менеджера (apt, dnf, yum), её конфигурация могла быть повреждена.",[74,3995,3996,4037,4059],{},[37,3997,3998,1073,4001,4030,4031,4034,4035,742],{},[40,3999,4000],{},"Debian/Ubuntu",[144,4002,4004],{"className":146,"code":4003,"language":148,"meta":149,"style":149},"sudo apt update\nsudo apt install --reinstall nginx  # Замените nginx на имя пакета\n",[25,4005,4006,4014],{"__ignoreMap":149},[153,4007,4008,4010,4012],{"class":155,"line":156},[153,4009,1026],{"class":159},[153,4011,2597],{"class":246},[153,4013,2600],{"class":246},[153,4015,4016,4018,4020,4022,4025,4027],{"class":155,"line":237},[153,4017,1026],{"class":159},[153,4019,2597],{"class":246},[153,4021,2609],{"class":246},[153,4023,4024],{"class":242}," --reinstall",[153,4026,1134],{"class":246},[153,4028,4029],{"class":233},"  # Замените nginx на имя пакета\n","\nЭто восстановит файлы из ",[25,4032,4033],{},"/usr/share/doc/nginx/examples/"," или оригинальные конфиги в ",[25,4036,2543],{},[37,4038,4039,1073,4042],{},[40,4040,4041],{},"RHEL/CentOS/Fedora",[144,4043,4045],{"className":146,"code":4044,"language":148,"meta":149,"style":149},"sudo dnf reinstall nginx\n",[25,4046,4047],{"__ignoreMap":149},[153,4048,4049,4051,4053,4056],{"class":155,"line":156},[153,4050,1026],{"class":159},[153,4052,2644],{"class":246},[153,4054,4055],{"class":246}," reinstall",[153,4057,4058],{"class":246}," nginx\n",[37,4060,4061,4062,4065,4066,4069,4070,4073,4074,4077],{},"После переустановки ",[40,4063,4064],{},"не перезаписывайте"," свои кастомные настройки в ",[25,4067,4068],{},"/etc/nginx/nginx.conf"," (если они были), если пакетный менеджер спросит. Сравните старый и новый файлы конфигурации юнита (",[25,4071,4072],{},"/lib/systemd/system/nginx.service"," vs ",[25,4075,4076],{},"/etc/systemd/system/nginx.service","). Часто правильнее скопировать свои правки в новый оригинальный файл, а не использовать старый повреждённый.",[17,4079,4081],{"id":4080},"профилактика","Профилактика",[34,4083,4084,4094,4111,4122,4138],{},[37,4085,4086,4089,4090,4093],{},[40,4087,4088],{},"Всегда проверяйте синтаксис"," конфигурационных файлов службы и самого приложения (например, ",[25,4091,4092],{},"nginx -t",") перед перезагрузкой systemd.",[37,4095,4096,4101,4102,4105,4106,640,4108,742],{},[40,4097,1558,4098],{},[25,4099,4100],{},"systemctl daemon-reload"," после ",[1758,4103,4104],{},"любого"," изменения файла юнита в ",[25,4107,1878],{},[25,4109,4110],{},"/lib/systemd/system/",[37,4112,4113,207,4116,334,4118,4121],{},[40,4114,4115],{},"Настраивайте разумные таймауты",[25,4117,3651],{},[25,4119,4120],{},"TimeoutStopSec=",") для долгих служб, чтобы избежать ложных срабатываний.",[37,4123,4124,4127,4128,334,4131,334,4134,4137],{},[40,4125,4126],{},"Следите за правами"," на каталоги, с которыми работает служба (",[25,4129,4130],{},"/var/log/",[25,4132,4133],{},"/var/lib/",[25,4135,4136],{},"/run/","). Рекомендуется создавать отдельного пользователя/группу для каждой службы.",[37,4139,4140,4143,4144,4147],{},[40,4141,4142],{},"Периодически проверяйте логи"," на предмет предупреждений (",[25,4145,4146],{},"journalctl -u \u003Cслужба>.service -p warning",") до того, как они превратятся в ошибки.",[855,4149],{},[129,4151,4153],{"id":4152},"способ-n-откат-к-предыдущей-рабочей-конфигурации-если-используется-git","Способ N: Откат к предыдущей рабочей конфигурации (если используется Git)",[22,4155,4156],{},"Если конфигурационные файлы службы находятся под контролем версий (что хорошая практика):",[74,4158,4159,4190,4224,4276],{},[37,4160,4161,4162],{},"Определите, когда служба последний раз работала:\n",[144,4163,4165],{"className":146,"code":4164,"language":148,"meta":149,"style":149},"sudo journalctl -u nginx.service -b --no-pager | grep -i \"started\\|failed\"\n",[25,4166,4167],{"__ignoreMap":149},[153,4168,4169,4171,4173,4175,4177,4179,4181,4183,4185,4187],{"class":155,"line":156},[153,4170,1026],{"class":159},[153,4172,2072],{"class":246},[153,4174,350],{"class":242},[153,4176,884],{"class":246},[153,4178,921],{"class":242},[153,4180,1274],{"class":242},[153,4182,671],{"class":670},[153,4184,674],{"class":159},[153,4186,2041],{"class":242},[153,4188,4189],{"class":246}," \"started\\|failed\"\n",[37,4191,4192,4193],{},"Найдите коммит, после которого начались сбои:\n",[144,4194,4196],{"className":146,"code":4195,"language":148,"meta":149,"style":149},"cd /etc/systemd/system/\ngit log --oneline -p -- nginx.service\n",[25,4197,4198,4206],{"__ignoreMap":149},[153,4199,4200,4203],{"class":155,"line":156},[153,4201,4202],{"class":242},"cd",[153,4204,4205],{"class":246}," /etc/systemd/system/\n",[153,4207,4208,4211,4214,4217,4219,4222],{"class":155,"line":237},[153,4209,4210],{"class":159},"git",[153,4212,4213],{"class":246}," log",[153,4215,4216],{"class":242}," --oneline",[153,4218,530],{"class":242},[153,4220,4221],{"class":242}," --",[153,4223,353],{"class":246},[37,4225,4226,4227],{},"Временно верните предыдущую версию файла:\n",[144,4228,4230],{"className":146,"code":4229,"language":148,"meta":149,"style":149},"sudo git checkout \u003Cхэш_коммита> -- nginx.service\nsudo systemctl daemon-reload\nsudo systemctl restart nginx.service\n",[25,4231,4232,4258,4266],{"__ignoreMap":149},[153,4233,4234,4236,4239,4242,4245,4248,4251,4254,4256],{"class":155,"line":156},[153,4235,1026],{"class":159},[153,4237,4238],{"class":246}," git",[153,4240,4241],{"class":246}," checkout",[153,4243,4244],{"class":670}," \u003C",[153,4246,4247],{"class":246},"хэш_коммит",[153,4249,4250],{"class":841},"а",[153,4252,4253],{"class":670},">",[153,4255,4221],{"class":242},[153,4257,353],{"class":246},[153,4259,4260,4262,4264],{"class":155,"line":237},[153,4261,1026],{"class":159},[153,4263,1750],{"class":246},[153,4265,2198],{"class":246},[153,4267,4268,4270,4272,4274],{"class":155,"line":250},[153,4269,1026],{"class":159},[153,4271,1750],{"class":246},[153,4273,1803],{"class":246},[153,4275,353],{"class":246},[37,4277,4278],{},"Если это помогло, проанализируйте, какие именно изменения сломали службу, и внесите их более аккуратно.",[129,4280,4282],{"id":4281},"способ-n1-запуск-службы-вручную-для-отладки","Способ N+1: Запуск службы вручную для отладки",[22,4284,4285],{},"Иногда systemd \"затыкает\" вывод ошибки. Запустите исполняемый файл напрямую от того же пользователя, под которым работает служба.",[74,4287,4288,4294],{},[37,4289,4290,4291,4293],{},"Узнайте пользователя из юнит-файла (",[25,4292,3614],{},") или из лога.",[37,4295,4296,4297,4352,4353,640,4356,4359],{},"Выполните:\n",[144,4298,4300],{"className":146,"code":4299,"language":148,"meta":149,"style":149},"sudo -u \u003Cпользователь> /usr/bin/some-service --verbose\n# или, если служба запускает скрипт:\nsudo -u \u003Cпользователь> /bin/bash -x /path/to/startup-script.sh\n",[25,4301,4302,4324,4329],{"__ignoreMap":149},[153,4303,4304,4306,4308,4310,4313,4316,4318,4321],{"class":155,"line":156},[153,4305,1026],{"class":159},[153,4307,350],{"class":242},[153,4309,4244],{"class":670},[153,4311,4312],{"class":246},"пользовател",[153,4314,4315],{"class":841},"ь",[153,4317,4253],{"class":670},[153,4319,4320],{"class":246}," /usr/bin/some-service",[153,4322,4323],{"class":242}," --verbose\n",[153,4325,4326],{"class":155,"line":237},[153,4327,4328],{"class":233},"# или, если служба запускает скрипт:\n",[153,4330,4331,4333,4335,4337,4339,4341,4343,4346,4349],{"class":155,"line":250},[153,4332,1026],{"class":159},[153,4334,350],{"class":242},[153,4336,4244],{"class":670},[153,4338,4312],{"class":246},[153,4340,4315],{"class":841},[153,4342,4253],{"class":670},[153,4344,4345],{"class":246}," /bin/bash",[153,4347,4348],{"class":242}," -x",[153,4350,4351],{"class":246}," /path/to/startup-script.sh\n","\nФлаги ",[25,4354,4355],{},"--verbose",[25,4357,4358],{},"-x"," (для bash) дадут подробный вывод. Часто ошибка становится очевидной при прямом запуске.",[1296,4361,4362],{},"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 .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":149,"searchDepth":237,"depth":237,"links":4364},[4365,4367,4368,4375],{"id":3539,"depth":237,"text":4366},"Что означает ошибка systemd-failed-to-start",{"id":3575,"depth":237,"text":3576},{"id":3655,"depth":237,"text":3656,"children":4369},[4370,4372,4373,4374],{"id":3659,"depth":250,"text":4371},"Способ 1: Анализ логов службы через journalctl",{"id":3754,"depth":250,"text":3755},{"id":3880,"depth":250,"text":3881},{"id":3989,"depth":250,"text":3990},{"id":4080,"depth":237,"text":4081,"children":4376},[4377,4378],{"id":4152,"depth":250,"text":4153},{"id":4281,"depth":250,"text":4282},"systemd-failed","2026-02-15 16:38:58","Ошибка Failed to start в systemd мешает работе сервисов. Узнайте, как быстро диагностировать проблему через journalctl и исправить её проверенными способами. Пошаговая инструкция.","15-30 минут",[4384,4387,4390,4393],{"question":4385,"answer":4386},"Что означает ошибка 'Failed to start' в выводе systemctl?","Эта ошибка означает, что systemd не смог успешно запустить указанную службу (юнит). Причина может быть в самой службе, её конфигурации, зависимостях или конфликте ресурсов.",{"question":4388,"answer":4389},"Где искать подробную информацию о причине сбоя systemd?","Используйте команду `journalctl -u \u003Cимя_службы>.service --no-pager -b`, чтобы увидеть логи конкретной службы за текущую загрузку. Ключевые слова 'Failed', 'Error', 'exit code' укажут на проблему.",{"question":4391,"answer":4392},"Может ли ошибка 'Failed to start' быть вызвана недостатком прав?","Да, часто. Если служба запускается от неправильного пользователя (например, root, а должна от nginx) или в конфиге указан недоступный путь, systemd не сможет её запустить.",{"question":4394,"answer":4395},"Как временно обойти проблему, чтобы система загрузилась?","Можно отключить problematic юнит на загрузку командой `sudo systemctl disable \u003Cслужба>.service` или запустить систему в режиме восстановления, чтобы исправить конфигурацию.",[4397,4400,4403,4406,4409,4412],{"name":4398,"text":4399},"Проверьте точное состояние службы и код ошибки","Выполните `systemctl status \u003Cслужба>.service`. В разделе 'Active:' и последних строках лога будет указан код ошибки (например, 'exit-code' или 'timeout'). Запишите его.",{"name":4401,"text":4402},"Изучите полные логи службы через journalctl","Используйте `journalctl -u \u003Cслужба>.service -b --no-pager`. Прокрутите лог до конца и найдите строки с 'Failed', 'error', 'Permission denied', 'No such file'. Это ключ к причине.",{"name":4404,"text":4405},"Проверьте конфигурационный файл юнита на синтаксис","Выполните `systemd-analyze verify /etc/systemd/system/\u003Cслужба>.service` (или путь к вашему файлу). Команда проверит синтаксис и укажет на ошибки в секциях [Service], [Install].",{"name":4407,"text":4408},"Восстановите или переустановите проблемный пакет (если применимо)","Если служба относится к пакету (например, nginx, postgresql), попробуйте `sudo apt reinstall \u003Cпакет>` (Debian/Ubuntu) или `sudo dnf reinstall \u003Cпакет>` (RHEL/Fedora). Это восстановит оригинальные файлы конфигурации.",{"name":4410,"text":4411},"Вручную исправьте найденную проблему","В зависимости от логов: исправьте путь в `ExecStart`, права на файлы (`chmod`, `chown`), разрешите конфликт портов, добавьте недостающие зависимости (`Requires=`, `After=`) в конфиг юнита.",{"name":4413,"text":4414},"Перезапустите и включите службу","После исправлений выполните `sudo systemctl daemon-reload`, затем `sudo systemctl restart \u003Cслужба>.service` и `sudo systemctl enable \u003Cслужба>.service`. Проверьте статус снова.",[4416,4417,4418,4419,4420,4421,4422,4423],"systemd failed to start","ошибка systemd юнит не запустился","failed to start служба systemd","как исправить systemd ошибка запуска","journalctl ошибка юнита","systemctl status failed","systemd dependency failed","восстановление systemd службы",{},[4426,4427,4428],"/errors/linux/systemd-unit-not-found","/errors/linux/systemd-circular-dependency","/guides/linux/systemd-service-creation","Ошибки Linux",{"title":3531,"description":4381},"high","errors/linux/systemd-failed-to-start","Статья подробно разбирает ошибку 'Failed to start' в systemd, её основные причины и 4 проверенных способа решения. Вы научитесь анализировать логи и восстанавливать работу служб.",[4435,1386,1703,3525,27,4436,4437],"ошибки linux","service","boot","eIns-0UfD2cGVn2HufRiXZrk1AiyCuiXxeXglmXIzm0"]