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