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