[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"page-ru-/guides/linux/linux-manage-journald-logs":3,"mdc--b1i8k1-key":1134,"mdc--965pl8-key":1153,"mdc-nh8r9y-key":1190,"mdc--dmv0y3-key":1207,"mdc-q73dv0-key":1230,"mdc-flkq06-key":1252,"mdc-y8sbi7-key":1291,"mdc-4vdm4n-key":1316,"mdc-u6vfd9-key":1348,"related-/guides/linux/linux-analyze-boot-issues-with-journalctl,/guides/linux/linux-logrotate-alternatives,/errors/linux/disk-space-errors":1377},{"id":4,"title":5,"appliesTo":6,"author":11,"body":12,"canonical":1068,"code":1068,"createdAt":1069,"description":1070,"difficulty":1071,"draft":1072,"estimatedTime":1073,"extension":1074,"faq":1075,"howToSteps":1088,"howToTotalTime":1104,"image":1068,"keywords":1105,"locale":1114,"meta":1115,"navigation":116,"path":1116,"platform":1117,"related":1118,"section":1122,"seo":1123,"severity":1068,"stem":1124,"summary":1125,"tags":1126,"twitterCreator":1068,"twitterSite":1068,"type":1132,"updatedAt":1069,"__hash__":1133},"content_ru/guides/linux/linux-manage-journald-logs.md","Полное руководство по управлению логами systemd-journald",[7,8,9,10],"systemd 245+","Ubuntu 20.04+","CentOS 8+","Debian 11+","FixPedia Team",{"type":13,"value":14,"toc":1057},"minimark",[15,20,24,28,31,76,79,83,86,175,196,198,202,205,319,322,346,348,352,362,418,440,443,491,493,496,498,502,508,598,603,634,639,664,666,670,676,802,816,847,849,853,901,903,907,1016,1018,1023,1053],[16,17,19],"h2",{"id":18},"введение-зачем-это-нужно","Введение / Зачем это нужно",[21,22,23],"p",{},"Systemd-journald — централизованная система сбора логов в современных дистрибутивах Linux. Она заменяет классический syslog и хранит записи в бинарном формате, что обеспечивает структурированный поиск и индексирование. Однако без управления журналы могут занимать гигабайты дискового пространства, замедлять систему и затруднять анализ. Этот гайд покажет, как контролировать рост логов, быстро находить нужные события и настроить автоматическую ротацию.",[16,25,27],{"id":26},"требования-подготовка","Требования / Подготовка",[21,29,30],{},"Перед началом убедитесь, что:",[32,33,34,43,51,66],"ul",{},[35,36,37,38,42],"li",{},"У вас есть права ",[39,40,41],"strong",{},"sudo"," или доступ к root-пользователю.",[35,44,45,46,50],{},"На системе используется systemd (проверьте: ",[47,48,49],"code",{},"systemctl --version",").",[35,52,53,54,57,58,61,62,65],{},"Журнал хранится в ",[39,55,56],{},"постоянном"," режиме (файлы в ",[47,59,60],{},"/var/log/journal/","). Если папки нет, создайте: ",[47,63,64],{},"sudo mkdir -p /var/log/journal && sudo systemctl restart systemd-journald",".",[35,67,68,69,72,73,50],{},"Установлена утилита ",[47,70,71],{},"journalctl"," (обычно входит в пакет ",[47,74,75],{},"systemd",[77,78],"hr",{},[16,80,82],{"id":81},"шаг-1-просмотр-логов-и-базовый-поиск","Шаг 1: Просмотр логов и базовый поиск",[21,84,85],{},"Журнал systemd-journald хранит все системные события, включая вывод сервисов, ядра и init-системы. Для просмотра используйте:",[87,88,93],"pre",{"className":89,"code":90,"language":91,"meta":92,"style":92},"language-bash shiki shiki-themes github-light github-dark","# Вывод всех записей с последними в конце (по умолчанию)\njournalctl\n\n# Просмотр с пагинацией (клавиши ↑/↓, q для выхода)\njournalctl | less\n\n# Отображение в реальном времени (аналог tail -f)\njournalctl -f\n\n# Показать только сообщения ядра\njournalctl -k\n","bash","",[47,94,95,104,111,118,124,136,141,147,156,161,167],{"__ignoreMap":92},[96,97,100],"span",{"class":98,"line":99},"line",1,[96,101,103],{"class":102},"sJ8bj","# Вывод всех записей с последними в конце (по умолчанию)\n",[96,105,107],{"class":98,"line":106},2,[96,108,110],{"class":109},"sScJk","journalctl\n",[96,112,114],{"class":98,"line":113},3,[96,115,117],{"emptyLinePlaceholder":116},true,"\n",[96,119,121],{"class":98,"line":120},4,[96,122,123],{"class":102},"# Просмотр с пагинацией (клавиши ↑/↓, q для выхода)\n",[96,125,127,129,133],{"class":98,"line":126},5,[96,128,71],{"class":109},[96,130,132],{"class":131},"szBVR"," |",[96,134,135],{"class":109}," less\n",[96,137,139],{"class":98,"line":138},6,[96,140,117],{"emptyLinePlaceholder":116},[96,142,144],{"class":98,"line":143},7,[96,145,146],{"class":102},"# Отображение в реальном времени (аналог tail -f)\n",[96,148,150,152],{"class":98,"line":149},8,[96,151,71],{"class":109},[96,153,155],{"class":154},"sj4cs"," -f\n",[96,157,159],{"class":98,"line":158},9,[96,160,117],{"emptyLinePlaceholder":116},[96,162,164],{"class":98,"line":163},10,[96,165,166],{"class":102},"# Показать только сообщения ядра\n",[96,168,170,172],{"class":98,"line":169},11,[96,171,71],{"class":109},[96,173,174],{"class":154}," -k\n",[21,176,177,180,181,184,185,188,189,192,193,65],{},[39,178,179],{},"Примечание:"," Для выхода из ",[47,182,183],{},"less"," нажмите ",[47,186,187],{},"q",". Чтобы прервать ",[47,190,191],{},"-f"," — ",[47,194,195],{},"Ctrl+C",[77,197],{},[16,199,201],{"id":200},"шаг-2-фильтрация-по-времени-сервису-и-приоритету","Шаг 2: Фильтрация по времени, сервису и приоритету",[21,203,204],{},"Самые полезные фильтры:",[87,206,208],{"className":89,"code":207,"language":91,"meta":92,"style":92},"# Логи за сегодня\njournalctl --since today\n\n# За определённый период (формат: \"YYYY-MM-DD HH:MM:SS\")\njournalctl --since \"2024-02-15 09:00:00\" --until \"2024-02-15 18:00:00\"\n\n# Только ошибки (приоритет err, crit, alert, emerg)\njournalctl -p err\n\n# Логи конкретного сервиса (например, nginx)\njournalctl -u nginx.service\n\n# Комбинированный фильтр: ошибки nginx за последние 2 часа\njournalctl -u nginx.service -p err --since \"2 hours ago\"\n",[47,209,210,215,226,230,235,250,254,259,269,273,278,288,293,299],{"__ignoreMap":92},[96,211,212],{"class":98,"line":99},[96,213,214],{"class":102},"# Логи за сегодня\n",[96,216,217,219,222],{"class":98,"line":106},[96,218,71],{"class":109},[96,220,221],{"class":154}," --since",[96,223,225],{"class":224},"sZZnC"," today\n",[96,227,228],{"class":98,"line":113},[96,229,117],{"emptyLinePlaceholder":116},[96,231,232],{"class":98,"line":120},[96,233,234],{"class":102},"# За определённый период (формат: \"YYYY-MM-DD HH:MM:SS\")\n",[96,236,237,239,241,244,247],{"class":98,"line":126},[96,238,71],{"class":109},[96,240,221],{"class":154},[96,242,243],{"class":224}," \"2024-02-15 09:00:00\"",[96,245,246],{"class":154}," --until",[96,248,249],{"class":224}," \"2024-02-15 18:00:00\"\n",[96,251,252],{"class":98,"line":138},[96,253,117],{"emptyLinePlaceholder":116},[96,255,256],{"class":98,"line":143},[96,257,258],{"class":102},"# Только ошибки (приоритет err, crit, alert, emerg)\n",[96,260,261,263,266],{"class":98,"line":149},[96,262,71],{"class":109},[96,264,265],{"class":154}," -p",[96,267,268],{"class":224}," err\n",[96,270,271],{"class":98,"line":158},[96,272,117],{"emptyLinePlaceholder":116},[96,274,275],{"class":98,"line":163},[96,276,277],{"class":102},"# Логи конкретного сервиса (например, nginx)\n",[96,279,280,282,285],{"class":98,"line":169},[96,281,71],{"class":109},[96,283,284],{"class":154}," -u",[96,286,287],{"class":224}," nginx.service\n",[96,289,291],{"class":98,"line":290},12,[96,292,117],{"emptyLinePlaceholder":116},[96,294,296],{"class":98,"line":295},13,[96,297,298],{"class":102},"# Комбинированный фильтр: ошибки nginx за последние 2 часа\n",[96,300,302,304,306,309,311,314,316],{"class":98,"line":301},14,[96,303,71],{"class":109},[96,305,284],{"class":154},[96,307,308],{"class":224}," nginx.service",[96,310,265],{"class":154},[96,312,313],{"class":224}," err",[96,315,221],{"class":154},[96,317,318],{"class":224}," \"2 hours ago\"\n",[21,320,321],{},"Дополнительные опции:",[32,323,324,330,336],{},[35,325,326,329],{},[47,327,328],{},"-n 50"," — показать последние 50 записей.",[35,331,332,335],{},[47,333,334],{},"--no-pager"," — выводить без паузы (удобно для скриптов).",[35,337,338,341,342,345],{},[47,339,340],{},"-o json"," или ",[47,343,344],{},"-o json-pretty"," — вывод в JSON для парсинга.",[77,347],{},[16,349,351],{"id":350},"шаг-3-очистка-устаревших-логов","Шаг 3: Очистка устаревших логов",[21,353,354,355,341,358,361],{},"Журнал может расти бесконтрольно. Очистка возможна по ",[39,356,357],{},"времени",[39,359,360],{},"размеру",":",[87,363,365],{"className":89,"code":364,"language":91,"meta":92,"style":92},"# Удалить записи старше 7 дней\nsudo journalctl --vacuum-time=7d\n\n# Оставить не более 200 МБ самых свежих записей\nsudo journalctl --vacuum-size=200M\n\n# Сохранить только логи за последние 24 часа\nsudo journalctl --vacuum-time=1d\n",[47,366,367,372,382,386,391,400,404,409],{"__ignoreMap":92},[96,368,369],{"class":98,"line":99},[96,370,371],{"class":102},"# Удалить записи старше 7 дней\n",[96,373,374,376,379],{"class":98,"line":106},[96,375,41],{"class":109},[96,377,378],{"class":224}," journalctl",[96,380,381],{"class":154}," --vacuum-time=7d\n",[96,383,384],{"class":98,"line":113},[96,385,117],{"emptyLinePlaceholder":116},[96,387,388],{"class":98,"line":120},[96,389,390],{"class":102},"# Оставить не более 200 МБ самых свежих записей\n",[96,392,393,395,397],{"class":98,"line":126},[96,394,41],{"class":109},[96,396,378],{"class":224},[96,398,399],{"class":154}," --vacuum-size=200M\n",[96,401,402],{"class":98,"line":138},[96,403,117],{"emptyLinePlaceholder":116},[96,405,406],{"class":98,"line":143},[96,407,408],{"class":102},"# Сохранить только логи за последние 24 часа\n",[96,410,411,413,415],{"class":98,"line":149},[96,412,41],{"class":109},[96,414,378],{"class":224},[96,416,417],{"class":154}," --vacuum-time=1d\n",[419,420,421],"blockquote",{},[21,422,423,424,427,428,431,432,435,436,439],{},"⚠️ ",[39,425,426],{},"Важно:"," Операция ",[47,429,430],{},"--vacuum-*"," удаляет ",[39,433,434],{},"все"," записи, удовлетворяющие критерию, даже если они относятся к разным сервисам. Для выборочной очистки используйте фильтры + ",[47,437,438],{},"--vacuum-time",", но будьте осторожны.",[21,441,442],{},"Если стандартная очистка не освобождает место (например, из-за \"заблокированных\" файлов), примените:",[87,444,446],{"className":89,"code":445,"language":91,"meta":92,"style":92},"sudo systemctl stop systemd-journald\nsudo rm -rf /var/log/journal/*  # полная очистка\nsudo systemctl start systemd-journald\n",[47,447,448,461,480],{"__ignoreMap":92},[96,449,450,452,455,458],{"class":98,"line":99},[96,451,41],{"class":109},[96,453,454],{"class":224}," systemctl",[96,456,457],{"class":224}," stop",[96,459,460],{"class":224}," systemd-journald\n",[96,462,463,465,468,471,474,477],{"class":98,"line":106},[96,464,41],{"class":109},[96,466,467],{"class":224}," rm",[96,469,470],{"class":154}," -rf",[96,472,473],{"class":224}," /var/log/journal/",[96,475,476],{"class":154},"*",[96,478,479],{"class":102},"  # полная очистка\n",[96,481,482,484,486,489],{"class":98,"line":113},[96,483,41],{"class":109},[96,485,454],{"class":224},[96,487,488],{"class":224}," start",[96,490,460],{"class":224},[77,492],{},[494,495],"in-article-ad",{},[77,497],{},[16,499,501],{"id":500},"шаг-4-настройка-автоматической-ротации","Шаг 4: Настройка автоматической ротации",[21,503,504,505,361],{},"Редактируйте конфигурационный файл ",[47,506,507],{},"/etc/systemd/journald.conf",[87,509,513],{"className":510,"code":511,"language":512,"meta":92,"style":92},"language-ini shiki shiki-themes github-light github-dark","# Включить постоянное хранение (если ещё не активно)\nStorage=persistent\n\n# Максимальный общий размер журнала (можно указать K, M, G)\nSystemMaxUse=500M\n\n# Максимальный размер одного файла журнала\nSystemMaxFileSize=50M\n\n# Автоматически удалять записи старше N дней\nMaxRetentionSec=30d\n\n# Сжимать старые записи (экономит место)\nCompress=yes\n\n# Разделять логи по сервисам (удобно для диагностики)\nSplitMode=uid\n","ini",[47,514,515,520,525,529,534,539,543,548,553,557,562,567,571,576,581,586,592],{"__ignoreMap":92},[96,516,517],{"class":98,"line":99},[96,518,519],{},"# Включить постоянное хранение (если ещё не активно)\n",[96,521,522],{"class":98,"line":106},[96,523,524],{},"Storage=persistent\n",[96,526,527],{"class":98,"line":113},[96,528,117],{"emptyLinePlaceholder":116},[96,530,531],{"class":98,"line":120},[96,532,533],{},"# Максимальный общий размер журнала (можно указать K, M, G)\n",[96,535,536],{"class":98,"line":126},[96,537,538],{},"SystemMaxUse=500M\n",[96,540,541],{"class":98,"line":138},[96,542,117],{"emptyLinePlaceholder":116},[96,544,545],{"class":98,"line":143},[96,546,547],{},"# Максимальный размер одного файла журнала\n",[96,549,550],{"class":98,"line":149},[96,551,552],{},"SystemMaxFileSize=50M\n",[96,554,555],{"class":98,"line":158},[96,556,117],{"emptyLinePlaceholder":116},[96,558,559],{"class":98,"line":163},[96,560,561],{},"# Автоматически удалять записи старше N дней\n",[96,563,564],{"class":98,"line":169},[96,565,566],{},"MaxRetentionSec=30d\n",[96,568,569],{"class":98,"line":290},[96,570,117],{"emptyLinePlaceholder":116},[96,572,573],{"class":98,"line":295},[96,574,575],{},"# Сжимать старые записи (экономит место)\n",[96,577,578],{"class":98,"line":301},[96,579,580],{},"Compress=yes\n",[96,582,584],{"class":98,"line":583},15,[96,585,117],{"emptyLinePlaceholder":116},[96,587,589],{"class":98,"line":588},16,[96,590,591],{},"# Разделять логи по сервисам (удобно для диагностики)\n",[96,593,595],{"class":98,"line":594},17,[96,596,597],{},"SplitMode=uid\n",[21,599,600],{},[39,601,602],{},"Применение изменений:",[87,604,606],{"className":89,"code":605,"language":91,"meta":92,"style":92},"sudo systemctl restart systemd-journald\nsudo systemctl status systemd-journald  # проверьте статус\n",[47,607,608,619],{"__ignoreMap":92},[96,609,610,612,614,617],{"class":98,"line":99},[96,611,41],{"class":109},[96,613,454],{"class":224},[96,615,616],{"class":224}," restart",[96,618,460],{"class":224},[96,620,621,623,625,628,631],{"class":98,"line":106},[96,622,41],{"class":109},[96,624,454],{"class":224},[96,626,627],{"class":224}," status",[96,629,630],{"class":224}," systemd-journald",[96,632,633],{"class":102},"  # проверьте статус\n",[21,635,636],{},[39,637,638],{},"Проверка текущих лимитов:",[87,640,642],{"className":89,"code":641,"language":91,"meta":92,"style":92},"journalctl --disk-usage  # текущий размер\njournalctl --list-boots  # список загрузок (по умолчанию хранятся)\n",[47,643,644,654],{"__ignoreMap":92},[96,645,646,648,651],{"class":98,"line":99},[96,647,71],{"class":109},[96,649,650],{"class":154}," --disk-usage",[96,652,653],{"class":102},"  # текущий размер\n",[96,655,656,658,661],{"class":98,"line":106},[96,657,71],{"class":109},[96,659,660],{"class":154}," --list-boots",[96,662,663],{"class":102},"  # список загрузок (по умолчанию хранятся)\n",[77,665],{},[16,667,669],{"id":668},"шаг-5-расширенный-поиск-и-анализ","Шаг 5: Расширенный поиск и анализ",[21,671,672,673,361],{},"Для глубокого анализа используйте комбинации фильтров и утилиты ",[47,674,675],{},"grep",[87,677,679],{"className":89,"code":678,"language":91,"meta":92,"style":92},"# Найти все упоминания \"timeout\" в логах сервиса cron\njournalctl -u cron.service | grep -i timeout\n\n\n# Подсчитать количество ошибок по сервисам за последний день\njournalctl --since yesterday -p err --no-pager | \\\n  grep -oP '(?\u003C=^.*?service: ).*?(?=\\.)' | \\\n  sort | uniq -c | sort -nr\n\n# Экспорт логов в текстовый файл (для отправки в поддержку)\njournalctl --since \"1 hour ago\" --no-pager > /tmp/journal_snapshot.txt\n",[47,680,681,686,706,710,714,719,740,755,776,780,785],{"__ignoreMap":92},[96,682,683],{"class":98,"line":99},[96,684,685],{"class":102},"# Найти все упоминания \"timeout\" в логах сервиса cron\n",[96,687,688,690,692,695,697,700,703],{"class":98,"line":106},[96,689,71],{"class":109},[96,691,284],{"class":154},[96,693,694],{"class":224}," cron.service",[96,696,132],{"class":131},[96,698,699],{"class":109}," grep",[96,701,702],{"class":154}," -i",[96,704,705],{"class":224}," timeout\n",[96,707,708],{"class":98,"line":113},[96,709,117],{"emptyLinePlaceholder":116},[96,711,712],{"class":98,"line":120},[96,713,117],{"emptyLinePlaceholder":116},[96,715,716],{"class":98,"line":126},[96,717,718],{"class":102},"# Подсчитать количество ошибок по сервисам за последний день\n",[96,720,721,723,725,728,730,732,735,737],{"class":98,"line":138},[96,722,71],{"class":109},[96,724,221],{"class":154},[96,726,727],{"class":224}," yesterday",[96,729,265],{"class":154},[96,731,313],{"class":224},[96,733,734],{"class":154}," --no-pager",[96,736,132],{"class":131},[96,738,739],{"class":154}," \\\n",[96,741,742,745,748,751,753],{"class":98,"line":143},[96,743,744],{"class":109},"  grep",[96,746,747],{"class":154}," -oP",[96,749,750],{"class":224}," '(?\u003C=^.*?service: ).*?(?=\\.)'",[96,752,132],{"class":131},[96,754,739],{"class":154},[96,756,757,760,762,765,768,770,773],{"class":98,"line":149},[96,758,759],{"class":109},"  sort",[96,761,132],{"class":131},[96,763,764],{"class":109}," uniq",[96,766,767],{"class":154}," -c",[96,769,132],{"class":131},[96,771,772],{"class":109}," sort",[96,774,775],{"class":154}," -nr\n",[96,777,778],{"class":98,"line":158},[96,779,117],{"emptyLinePlaceholder":116},[96,781,782],{"class":98,"line":163},[96,783,784],{"class":102},"# Экспорт логов в текстовый файл (для отправки в поддержку)\n",[96,786,787,789,791,794,796,799],{"class":98,"line":169},[96,788,71],{"class":109},[96,790,221],{"class":154},[96,792,793],{"class":224}," \"1 hour ago\"",[96,795,734],{"class":154},[96,797,798],{"class":131}," >",[96,800,801],{"class":224}," /tmp/journal_snapshot.txt\n",[21,803,804,807,808,811,812,815],{},[39,805,806],{},"Совет:"," Для сложных запросов используйте поле ",[47,809,810],{},"__UID"," (идентификатор пользователя) или ",[47,813,814],{},"_PID"," (идентификатор процесса):",[87,817,819],{"className":89,"code":818,"language":91,"meta":92,"style":92},"journalctl _PID=1234  # логи конкретного процесса\njournalctl _UID=1000  # логи пользователя с UID 1000\n",[47,820,821,834],{"__ignoreMap":92},[96,822,823,825,828,831],{"class":98,"line":99},[96,824,71],{"class":109},[96,826,827],{"class":224}," _PID=",[96,829,830],{"class":154},"1234",[96,832,833],{"class":102},"  # логи конкретного процесса\n",[96,835,836,838,841,844],{"class":98,"line":106},[96,837,71],{"class":109},[96,839,840],{"class":224}," _UID=",[96,842,843],{"class":154},"1000",[96,845,846],{"class":102},"  # логи пользователя с UID 1000\n",[77,848],{},[16,850,852],{"id":851},"проверка-результата","Проверка результата",[854,855,856,870,882,892],"ol",{},[35,857,858,861,862,865,866,869],{},[39,859,860],{},"Размер журнала"," — выполните ",[47,863,864],{},"journalctl --disk-usage",". Значение должно соответствовать ",[47,867,868],{},"SystemMaxUse"," (если настроено) или быть в разумных пределах (\u003C 1 ГБ для сервера).",[35,871,872,875,876,878,879,50],{},[39,873,874],{},"Доступность логов"," — проверьте наличие файлов в ",[47,877,60],{}," (если ",[47,880,881],{},"Storage=persistent",[35,883,884,887,888,891],{},[39,885,886],{},"Корректность ротации"," — после срабатывания лимитов старые файлы должны архивироваться (расширение ",[47,889,890],{},".journal~",") или удаляться.",[35,893,894,897,898,65],{},[39,895,896],{},"Поиск работает"," — выполните тестовый запрос, например ",[47,899,900],{},"journalctl -u systemd-journald --since \"1 hour ago\"",[77,902],{},[16,904,906],{"id":905},"возможные-проблемы","Возможные проблемы",[908,909,910,923],"table",{},[911,912,913],"thead",{},[914,915,916,920],"tr",{},[917,918,919],"th",{},"Проблема",[917,921,922],{},"Решение",[924,925,926,943,956,972,982,1002],"tbody",{},[914,927,928,934],{},[929,930,931,933],"td",{},[47,932,864],{}," показывает 0 B",[929,935,936,937,940,941,65],{},"Журнал отключён (",[47,938,939],{},"Storage=none","). Проверьте ",[47,942,507],{},[914,944,945,950],{},[929,946,947,948],{},"Нет логов в ",[47,949,60],{},[929,951,952,953],{},"Папка не создана или права некорректны. Выполните: ",[47,954,955],{},"sudo mkdir -p /var/log/journal && sudo chown root:systemd-journal /var/log/journal && sudo chmod 2755 /var/log/journal",[914,957,958,961],{},[929,959,960],{},"Очистка не удаляет старые записи",[929,962,963,964,967,968,971],{},"Убедитесь, что ",[47,965,966],{},"MaxRetentionSec"," не превышает время жизни записей. Используйте ",[47,969,970],{},"journalctl --list-boots"," для просмотра загрузок.",[914,973,974,977],{},[929,975,976],{},"Ошибка \"Failed to open directory\"",[929,978,979,980,65],{},"Не хватает прав. Все операции очистки требуют ",[47,981,41],{},[914,983,984,987],{},[929,985,986],{},"Журнал растёт слишком быстро",[929,988,989,990,993,994,997,998,1001],{},"Проверьте, нет ли \"болтливых\" сервисов. Уменьшите ",[47,991,992],{},"SystemMaxFileSize"," или включите ",[47,995,996],{},"RateLimitIntervalSec","/",[47,999,1000],{},"RateLimitBurst"," в конфиге.",[914,1003,1004,1007],{},[929,1005,1006],{},"Потеря логов после перезагрузки",[929,1008,963,1009,1011,1012,1015],{},[47,1010,881],{},". Если ",[47,1013,1014],{},"Storage=volatile",", логи хранятся только в RAM и теряются при выключении.",[77,1017],{},[21,1019,1020],{},[39,1021,1022],{},"Следующие шаги:",[32,1024,1025,1036,1046],{},[35,1026,1027,1028,1031,1032,1035],{},"Изучите ",[39,1029,1030],{},"мониторинг загрузки"," через ",[47,1033,1034],{},"journalctl -b -1"," (логи предыдущей загрузки).",[35,1037,1038,1039,1042,1043,65],{},"Настройте ",[39,1040,1041],{},"перенаправление логов"," в внешние системы (например, Elasticsearch) через ",[47,1044,1045],{},"systemd-journal-remote",[35,1047,1048,1049,1052],{},"Используйте ",[47,1050,1051],{},"journalctl -o export"," для конвертации в стандартные форматы (CSV, XML).",[1054,1055,1056],"style",{},"html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}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":92,"searchDepth":106,"depth":106,"links":1058},[1059,1060,1061,1062,1063,1064,1065,1066,1067],{"id":18,"depth":106,"text":19},{"id":26,"depth":106,"text":27},{"id":81,"depth":106,"text":82},{"id":200,"depth":106,"text":201},{"id":350,"depth":106,"text":351},{"id":500,"depth":106,"text":501},{"id":668,"depth":106,"text":669},{"id":851,"depth":106,"text":852},{"id":905,"depth":106,"text":906},null,"2026-02-17 12:10:11","Пошаговая инструкция по просмотру, фильтрации и очистке логов journald. Узнайте, как настроить ротацию, контролировать место на диске и быстро находить нужные записи. Оптимизируйте логирование за 10 минут.","medium",false,"10-15 мин","md",[1076,1079,1082,1085],{"question":1077,"answer":1078},"Как проверить, сколько места занимают логи journald?","Используйте команду `journalctl --disk-usage`. Она покажет текущий размер всего журнала.",{"question":1080,"answer":1081},"Можно ли настроить автоматическую очистку старых записей?","Да, через параметры `SystemMaxUse` и `MaxRetentionSec` в `/etc/systemd/journald.conf`. После настройки перезапустите службу: `sudo systemctl restart systemd-journald`.",{"question":1083,"answer":1084},"Почему после очистки место на диске не освобождается?","Возможно, файлы журнала всё ещё используются процессом. Используйте `sudo journalctl --vacuum-time=1s` для принудительной очистки или перезагрузите систему.",{"question":1086,"answer":1087},"Как найти логи конкретного сервиса?","Фильтруйте по имени юнита: `journalctl -u nginx.service` или `journalctl -u sshd --since today`.",[1089,1092,1095,1098,1101],{"name":1090,"text":1091},"Просмотр основных логов","Используйте `journalctl` без параметров для вывода всего журнала с обратным порядком (новые записи внизу). Для постраничного просмотра добавьте `| less`.",{"name":1093,"text":1094},"Фильтрация по времени и сервису","Применяйте `--since` и `--until` для временного диапазона (например, `--since \"2024-02-01 09:00:00\"`). Для фильтрации по юниту используйте `-u \u003Cимя_сервиса>`.",{"name":1096,"text":1097},"Очистка старых записей","Удалите логи старше определённого времени: `sudo journalctl --vacuum-time=3d` (старше 3 дней). Или по размеру: `sudo journalctl --vacuum-size=100M` (оставить 100 МБ).",{"name":1099,"text":1100},"Настройка политики ротации","Отредактируйте `/etc/systemd/journald.conf`: установите `SystemMaxUse=500M` (макс. размер) и `MaxRetentionSec=30d` (хранить 30 дней). Перезапустите службу.",{"name":1102,"text":1103},"Проверка конфигурации и места","Убедитесь, что настройки применены: `journalctl --disk-usage` и `systemctl status systemd-journald`. Проверьте, что `Storage=persistent` в конфиге.","PT15M",[1106,1107,1108,1109,1110,1111,1112,1113],"управление логами journald","как очистить журнал systemd","journalctl команды примеры","очистка логов systemd-journald","настройка ротации journald","journald конфигурация","просмотр логов systemd","удалить старые логи journald","ru_RU",{},"/guides/linux/linux-manage-journald-logs","linux",[1119,1120,1121],"/guides/linux/linux-analyze-boot-issues-with-journalctl","/guides/linux/linux-logrotate-alternatives","/errors/linux/disk-space-errors","Гайды Linux",{"title":5,"description":1070},"guides/linux/linux-manage-journald-logs","В этом гайде вы научитесь эффективно управлять системными журналами Linux с помощью journald: искать, фильтровать, очищать и настраивать политику хранения. Покроем ключевые команды journalctl и параметры конфигурации.",[75,1127,1128,1129,71,1130,1131],"journald","логирование","администрирование","Linux","sysadmin","guide","DcXcMzTonOmMo3tQeWaibBlXH5mhE8rj0CV5zC_we2U",{"data":1135,"body":1136},{},{"type":1137,"children":1138},"root",[1139],{"type":1140,"tag":21,"props":1141,"children":1142},"element",{},[1143,1146,1151],{"type":1144,"value":1145},"text","Используйте команду ",{"type":1140,"tag":47,"props":1147,"children":1149},{"className":1148},[],[1150],{"type":1144,"value":864},{"type":1144,"value":1152},". Она покажет текущий размер всего журнала.",{"data":1154,"body":1155},{},{"type":1137,"children":1156},[1157],{"type":1140,"tag":21,"props":1158,"children":1159},{},[1160,1162,1167,1169,1174,1176,1181,1183,1189],{"type":1144,"value":1161},"Да, через параметры ",{"type":1140,"tag":47,"props":1163,"children":1165},{"className":1164},[],[1166],{"type":1144,"value":868},{"type":1144,"value":1168}," и ",{"type":1140,"tag":47,"props":1170,"children":1172},{"className":1171},[],[1173],{"type":1144,"value":966},{"type":1144,"value":1175}," в ",{"type":1140,"tag":47,"props":1177,"children":1179},{"className":1178},[],[1180],{"type":1144,"value":507},{"type":1144,"value":1182},". После настройки перезапустите службу: ",{"type":1140,"tag":47,"props":1184,"children":1186},{"className":1185},[],[1187],{"type":1144,"value":1188},"sudo systemctl restart systemd-journald",{"type":1144,"value":65},{"data":1191,"body":1192},{},{"type":1137,"children":1193},[1194],{"type":1140,"tag":21,"props":1195,"children":1196},{},[1197,1199,1205],{"type":1144,"value":1198},"Возможно, файлы журнала всё ещё используются процессом. Используйте ",{"type":1140,"tag":47,"props":1200,"children":1202},{"className":1201},[],[1203],{"type":1144,"value":1204},"sudo journalctl --vacuum-time=1s",{"type":1144,"value":1206}," для принудительной очистки или перезагрузите систему.",{"data":1208,"body":1209},{},{"type":1137,"children":1210},[1211],{"type":1140,"tag":21,"props":1212,"children":1213},{},[1214,1216,1222,1223,1229],{"type":1144,"value":1215},"Фильтруйте по имени юнита: ",{"type":1140,"tag":47,"props":1217,"children":1219},{"className":1218},[],[1220],{"type":1144,"value":1221},"journalctl -u nginx.service",{"type":1144,"value":341},{"type":1140,"tag":47,"props":1224,"children":1226},{"className":1225},[],[1227],{"type":1144,"value":1228},"journalctl -u sshd --since today",{"type":1144,"value":65},{"data":1231,"body":1232},{},{"type":1137,"children":1233},[1234],{"type":1140,"tag":21,"props":1235,"children":1236},{},[1237,1238,1243,1245,1251],{"type":1144,"value":1048},{"type":1140,"tag":47,"props":1239,"children":1241},{"className":1240},[],[1242],{"type":1144,"value":71},{"type":1144,"value":1244}," без параметров для вывода всего журнала с обратным порядком (новые записи внизу). Для постраничного просмотра добавьте ",{"type":1140,"tag":47,"props":1246,"children":1248},{"className":1247},[],[1249],{"type":1144,"value":1250},"| less",{"type":1144,"value":65},{"data":1253,"body":1254},{},{"type":1137,"children":1255},[1256],{"type":1140,"tag":21,"props":1257,"children":1258},{},[1259,1261,1267,1268,1274,1276,1282,1284,1290],{"type":1144,"value":1260},"Применяйте ",{"type":1140,"tag":47,"props":1262,"children":1264},{"className":1263},[],[1265],{"type":1144,"value":1266},"--since",{"type":1144,"value":1168},{"type":1140,"tag":47,"props":1269,"children":1271},{"className":1270},[],[1272],{"type":1144,"value":1273},"--until",{"type":1144,"value":1275}," для временного диапазона (например, ",{"type":1140,"tag":47,"props":1277,"children":1279},{"className":1278},[],[1280],{"type":1144,"value":1281},"--since \"2024-02-01 09:00:00\"",{"type":1144,"value":1283},"). Для фильтрации по юниту используйте ",{"type":1140,"tag":47,"props":1285,"children":1287},{"className":1286},[],[1288],{"type":1144,"value":1289},"-u \u003Cимя_сервиса>",{"type":1144,"value":65},{"data":1292,"body":1293},{},{"type":1137,"children":1294},[1295],{"type":1140,"tag":21,"props":1296,"children":1297},{},[1298,1300,1306,1308,1314],{"type":1144,"value":1299},"Удалите логи старше определённого времени: ",{"type":1140,"tag":47,"props":1301,"children":1303},{"className":1302},[],[1304],{"type":1144,"value":1305},"sudo journalctl --vacuum-time=3d",{"type":1144,"value":1307}," (старше 3 дней). Или по размеру: ",{"type":1140,"tag":47,"props":1309,"children":1311},{"className":1310},[],[1312],{"type":1144,"value":1313},"sudo journalctl --vacuum-size=100M",{"type":1144,"value":1315}," (оставить 100 МБ).",{"data":1317,"body":1318},{},{"type":1137,"children":1319},[1320],{"type":1140,"tag":21,"props":1321,"children":1322},{},[1323,1325,1330,1332,1338,1340,1346],{"type":1144,"value":1324},"Отредактируйте ",{"type":1140,"tag":47,"props":1326,"children":1328},{"className":1327},[],[1329],{"type":1144,"value":507},{"type":1144,"value":1331},": установите ",{"type":1140,"tag":47,"props":1333,"children":1335},{"className":1334},[],[1336],{"type":1144,"value":1337},"SystemMaxUse=500M",{"type":1144,"value":1339}," (макс. размер) и ",{"type":1140,"tag":47,"props":1341,"children":1343},{"className":1342},[],[1344],{"type":1144,"value":1345},"MaxRetentionSec=30d",{"type":1144,"value":1347}," (хранить 30 дней). Перезапустите службу.",{"data":1349,"body":1350},{},{"type":1137,"children":1351},[1352],{"type":1140,"tag":21,"props":1353,"children":1354},{},[1355,1357,1362,1363,1369,1371,1376],{"type":1144,"value":1356},"Убедитесь, что настройки применены: ",{"type":1140,"tag":47,"props":1358,"children":1360},{"className":1359},[],[1361],{"type":1144,"value":864},{"type":1144,"value":1168},{"type":1140,"tag":47,"props":1364,"children":1366},{"className":1365},[],[1367],{"type":1144,"value":1368},"systemctl status systemd-journald",{"type":1144,"value":1370},". Проверьте, что ",{"type":1140,"tag":47,"props":1372,"children":1374},{"className":1373},[],[1375],{"type":1144,"value":881},{"type":1144,"value":1001},[1378],{"id":1379,"title":1380,"appliesTo":1381,"author":11,"body":1384,"canonical":1068,"code":1068,"createdAt":1912,"description":1913,"difficulty":1071,"draft":1072,"estimatedTime":1914,"extension":1074,"faq":1915,"howToSteps":1925,"howToTotalTime":1938,"image":1068,"keywords":1939,"locale":1114,"meta":1948,"navigation":116,"path":1120,"platform":1117,"related":1949,"section":1953,"seo":1954,"severity":1068,"stem":1955,"summary":1956,"tags":1957,"twitterCreator":1068,"twitterSite":1068,"type":1132,"updatedAt":1912,"__hash__":1961},"content_ru/guides/linux/linux-logrotate-alternatives.md","Заменяем logrotate: лучшие альтернативы ротации логов в Linux",[8,10,1382,1383],"RHEL/CentOS 9","AlmaLinux/Rocky 9",{"type":13,"value":1385,"toc":1902},[1386,1388,1395,1397,1413,1418,1422,1425,1455,1473,1477,1480,1528,1531,1561,1568,1570,1574,1581,1682,1697,1701,1716,1743,1753,1769,1771,1774,1829,1839,1841,1899],[16,1387,19],{"id":18},[21,1389,1390,1391,1394],{},"Стандартный ",[47,1392,1393],{},"logrotate"," десятилетиями справлялся с базовыми задачами администрирования, но современные приложения генерируют гигабайты структурированных данных ежедневно. Ручные конфигурации через cron, отсутствие встроенной валидации и проблемы с блокировкой файлов при высокой нагрузке заставляют специалистов искать более надёжные решения. Переход на современные альтернативы даёт автоматическую проверку конфигов перед применением, сжатие на лету без потери производительности и возможность мгновенной отправки архивов в облачные хранилища или системы мониторинга. Вы получите стабильный процесс очистки дискового пространства и защиту от переполнения разделов.",[16,1396,27],{"id":26},[21,1398,1399,1400,1402,1403,1405,1406,1408,1409,1412],{},"Перед началом работы убедитесь, что у вас есть права ",[47,1401,1137],{}," или доступ через ",[47,1404,41],{},". На сервере должен быть настроен ",[47,1407,75],{},", так как большинство современных инструментов используют его для управления жизненным циклом. Заранее подготовьте резервную копию директории ",[47,1410,1411],{},"/var/log"," и текущих конфигов ротации.",[419,1414,1415],{},[21,1416,1417],{},"⚠️ Важно: Тестируйте миграцию на staging-окружении или в ночные часы низкой нагрузки, чтобы избежать случайной потери критичных журналов или блокировки записи приложениями.",[16,1419,1421],{"id":1420},"шаг-1-аудит-текущей-ротации","Шаг 1: Аудит текущей ротации",[21,1423,1424],{},"Оцените текущую нагрузку на подсистему ввода-вывода и объёмы генерируемых данных. Введите команды:",[87,1426,1428],{"className":89,"code":1427,"language":91,"meta":92,"style":92},"du -sh /var/log/*\nls -la /etc/logrotate.d/\n",[47,1429,1430,1444],{"__ignoreMap":92},[96,1431,1432,1435,1438,1441],{"class":98,"line":99},[96,1433,1434],{"class":109},"du",[96,1436,1437],{"class":154}," -sh",[96,1439,1440],{"class":224}," /var/log/",[96,1442,1443],{"class":154},"*\n",[96,1445,1446,1449,1452],{"class":98,"line":106},[96,1447,1448],{"class":109},"ls",[96,1450,1451],{"class":154}," -la",[96,1453,1454],{"class":224}," /etc/logrotate.d/\n",[21,1456,1457,1458,1461,1462,341,1465,1468,1469,1472],{},"Если объём логов превышает 5 ГБ в день или требуется отправка данных в Grafana/Loki/ELK, выбирайте ",[39,1459,1460],{},"Vector"," (написан на Rust, высокая производительность). Для простой локальной ротации с минимальными затратами памяти подойдёт ",[39,1463,1464],{},"logrotate-ng",[39,1466,1467],{},"swatch",". В этом руководстве мы настроим ",[47,1470,1471],{},"vector"," как наиболее универсальное и производительное решение.",[16,1474,1476],{"id":1475},"шаг-2-установка-и-базовая-настройка","Шаг 2: Установка и базовая настройка",[21,1478,1479],{},"Добавьте официальный репозиторий и установите пакет. Пример для Debian/Ubuntu:",[87,1481,1483],{"className":89,"code":1482,"language":91,"meta":92,"style":92},"curl -1sLf 'https://repositories.timber.io/public/vector/install.bash' | sudo bash\nsudo apt update && sudo apt install vector\n",[47,1484,1485,1504],{"__ignoreMap":92},[96,1486,1487,1490,1493,1496,1498,1501],{"class":98,"line":99},[96,1488,1489],{"class":109},"curl",[96,1491,1492],{"class":154}," -1sLf",[96,1494,1495],{"class":224}," 'https://repositories.timber.io/public/vector/install.bash'",[96,1497,132],{"class":131},[96,1499,1500],{"class":109}," sudo",[96,1502,1503],{"class":224}," bash\n",[96,1505,1506,1508,1511,1514,1518,1520,1522,1525],{"class":98,"line":106},[96,1507,41],{"class":109},[96,1509,1510],{"class":224}," apt",[96,1512,1513],{"class":224}," update",[96,1515,1517],{"class":1516},"sVt8B"," && ",[96,1519,41],{"class":109},[96,1521,1510],{"class":224},[96,1523,1524],{"class":224}," install",[96,1526,1527],{"class":224}," vector\n",[21,1529,1530],{},"Для RHEL/CentOS 9 / AlmaLinux:",[87,1532,1534],{"className":89,"code":1533,"language":91,"meta":92,"style":92},"curl -1sLf 'https://repositories.timber.io/public/vector/install.bash' | sudo bash\nsudo dnf install vector\n",[47,1535,1536,1550],{"__ignoreMap":92},[96,1537,1538,1540,1542,1544,1546,1548],{"class":98,"line":99},[96,1539,1489],{"class":109},[96,1541,1492],{"class":154},[96,1543,1495],{"class":224},[96,1545,132],{"class":131},[96,1547,1500],{"class":109},[96,1549,1503],{"class":224},[96,1551,1552,1554,1557,1559],{"class":98,"line":106},[96,1553,41],{"class":109},[96,1555,1556],{"class":224}," dnf",[96,1558,1524],{"class":224},[96,1560,1527],{"class":224},[21,1562,1563,1564,1567],{},"После установки включите сервис, но не запускайте его сразу: ",[47,1565,1566],{},"sudo systemctl enable vector",". Это гарантирует автоматический старт после перезагрузки, но не перехватит логи до завершения конфигурации.",[494,1569],{},[16,1571,1573],{"id":1572},"шаг-3-конфигурация-правил-ротации","Шаг 3: Конфигурация правил ротации",[21,1575,1576,1577,1580],{},"Создайте или отредактируйте конфигурационный файл ",[47,1578,1579],{},"/etc/vector/vector.toml",". Мы настроим сбор логов, их сжатие и сохранение в архивную папку с политикой удаления файлов старше 30 дней.",[87,1582,1586],{"className":1583,"code":1584,"language":1585,"meta":92,"style":92},"language-toml shiki shiki-themes github-light github-dark","[sources.syslog_reader]\ntype = \"file\"\ninclude = [\"/var/log/syslog\", \"/var/log/*.log\"]\nread_from = \"beginning\"\n\n[transforms.log_parser]\ntype = \"remap\"\ninputs = [\"syslog_reader\"]\nsource = \"\"\"\n. = parse_syslog!(.message)\n\"\"\"\n\n[sinks.local_archive]\ntype = \"file\"\ninputs = [\"log_parser\"]\nencoding.codec = \"json\"\npath = \"/var/log/archived/%Y-%m-%d-%H.log.gz\"\ncompression = \"gzip\"\nrotation = { max_bytes = 1000000000 }  # Ротация при достижении 1 ГБ\n","toml",[47,1587,1588,1593,1598,1603,1608,1612,1617,1622,1627,1632,1637,1642,1646,1651,1655,1660,1665,1670,1676],{"__ignoreMap":92},[96,1589,1590],{"class":98,"line":99},[96,1591,1592],{},"[sources.syslog_reader]\n",[96,1594,1595],{"class":98,"line":106},[96,1596,1597],{},"type = \"file\"\n",[96,1599,1600],{"class":98,"line":113},[96,1601,1602],{},"include = [\"/var/log/syslog\", \"/var/log/*.log\"]\n",[96,1604,1605],{"class":98,"line":120},[96,1606,1607],{},"read_from = \"beginning\"\n",[96,1609,1610],{"class":98,"line":126},[96,1611,117],{"emptyLinePlaceholder":116},[96,1613,1614],{"class":98,"line":138},[96,1615,1616],{},"[transforms.log_parser]\n",[96,1618,1619],{"class":98,"line":143},[96,1620,1621],{},"type = \"remap\"\n",[96,1623,1624],{"class":98,"line":149},[96,1625,1626],{},"inputs = [\"syslog_reader\"]\n",[96,1628,1629],{"class":98,"line":158},[96,1630,1631],{},"source = \"\"\"\n",[96,1633,1634],{"class":98,"line":163},[96,1635,1636],{},". = parse_syslog!(.message)\n",[96,1638,1639],{"class":98,"line":169},[96,1640,1641],{},"\"\"\"\n",[96,1643,1644],{"class":98,"line":290},[96,1645,117],{"emptyLinePlaceholder":116},[96,1647,1648],{"class":98,"line":295},[96,1649,1650],{},"[sinks.local_archive]\n",[96,1652,1653],{"class":98,"line":301},[96,1654,1597],{},[96,1656,1657],{"class":98,"line":583},[96,1658,1659],{},"inputs = [\"log_parser\"]\n",[96,1661,1662],{"class":98,"line":588},[96,1663,1664],{},"encoding.codec = \"json\"\n",[96,1666,1667],{"class":98,"line":594},[96,1668,1669],{},"path = \"/var/log/archived/%Y-%m-%d-%H.log.gz\"\n",[96,1671,1673],{"class":98,"line":1672},18,[96,1674,1675],{},"compression = \"gzip\"\n",[96,1677,1679],{"class":98,"line":1678},19,[96,1680,1681],{},"rotation = { max_bytes = 1000000000 }  # Ротация при достижении 1 ГБ\n",[21,1683,1684,1685,1688,1689,1692,1693,1696],{},"Конфигурация использует встроенный механизм ротации ",[47,1686,1687],{},"rotation.max_bytes"," и автоматически архивирует файлы по расписанию. Для проверки синтаксиса выполните ",[47,1690,1691],{},"vector validate /etc/vector/vector.toml",". Если вывод содержит ",[47,1694,1695],{},"[OK]",", переходите к следующему шагу.",[16,1698,1700],{"id":1699},"шаг-4-миграция-и-отключение-logrotate","Шаг 4: Миграция и отключение logrotate",[21,1702,1703,1704,1707,1708,1711,1712,1715],{},"После успешной валидации запустите сервис: ",[47,1705,1706],{},"sudo systemctl start vector",". Проверьте статус через ",[47,1709,1710],{},"journalctl -u vector -f",". Если в логах нет ошибок и файлы появляются в ",[47,1713,1714],{},"/var/log/archived/",", можно безопасно отключить стандартный инструмент:",[87,1717,1719],{"className":89,"code":1718,"language":91,"meta":92,"style":92},"sudo systemctl stop logrotate.timer\nsudo systemctl mask logrotate.timer\n",[47,1720,1721,1732],{"__ignoreMap":92},[96,1722,1723,1725,1727,1729],{"class":98,"line":99},[96,1724,41],{"class":109},[96,1726,454],{"class":224},[96,1728,457],{"class":224},[96,1730,1731],{"class":224}," logrotate.timer\n",[96,1733,1734,1736,1738,1741],{"class":98,"line":106},[96,1735,41],{"class":109},[96,1737,454],{"class":224},[96,1739,1740],{"class":224}," mask",[96,1742,1731],{"class":224},[21,1744,1745,1746,1168,1749,1752],{},"Удалите старые файлы конфигурации из ",[47,1747,1748],{},"/etc/logrotate.d/",[47,1750,1751],{},"/etc/logrotate.conf",", предварительно убедившись, что все сервисы переключились на новый обработчик.",[419,1754,1755],{},[21,1756,1757,1758,1175,1761,1764,1765,1768],{},"💡 Совет: Вместо полного удаления конфигов logrotate временно переименуйте директорию ",[47,1759,1760],{},"/etc/logrotate.d",[47,1762,1763],{},"/etc/logrotate.d.bak",". Если потребуется быстрый откат, команды ",[47,1766,1767],{},"mv"," восстановят работу за секунды.",[16,1770,852],{"id":851},[21,1772,1773],{},"Сгенерируйте тестовую нагрузку и убедитесь, что ротация срабатывает автоматически. Запустите цикл:",[87,1775,1777],{"className":89,"code":1776,"language":91,"meta":92,"style":92},"for i in {1..5000}; do logger \"Тестовая запись ротации $i\"; done\nls -lh /var/log/archived/\n",[47,1778,1779,1819],{"__ignoreMap":92},[96,1780,1781,1784,1787,1790,1793,1796,1799,1802,1805,1808,1811,1814,1816],{"class":98,"line":99},[96,1782,1783],{"class":131},"for",[96,1785,1786],{"class":1516}," i ",[96,1788,1789],{"class":131},"in",[96,1791,1792],{"class":1516}," {",[96,1794,1795],{"class":109},"1..5000}",[96,1797,1798],{"class":1516},"; ",[96,1800,1801],{"class":131},"do",[96,1803,1804],{"class":109}," logger",[96,1806,1807],{"class":224}," \"Тестовая запись ротации ",[96,1809,1810],{"class":1516},"$i",[96,1812,1813],{"class":224},"\"",[96,1815,1798],{"class":1516},[96,1817,1818],{"class":131},"done\n",[96,1820,1821,1823,1826],{"class":98,"line":106},[96,1822,1448],{"class":109},[96,1824,1825],{"class":154}," -lh",[96,1827,1828],{"class":224}," /var/log/archived/\n",[21,1830,1831,1832,1835,1836,65],{},"Вы должны увидеть сжатые файлы с корректным размером и меткой времени. Проверьте использование диска: ",[47,1833,1834],{},"df -h /var/log",". Объём должен оставаться стабильным, а старые архивы удаляться согласно настройке политики хранения. Убедитесь, что приложения продолжают записывать события без ошибок ",[47,1837,1838],{},"No space left on device",[16,1840,906],{"id":905},[32,1842,1843,1866,1882],{},[35,1844,1845,1848,1849,1851,1852,341,1855,1858,1859,1862,1863,65],{},[39,1846,1847],{},"Ошибка прав доступа (Permission denied):"," Новый сервис запускается под системным пользователем ",[47,1850,1471],{},", у которого иногда нет доступа к закрытым системным журналам. Добавьте пользователя в группу ",[47,1853,1854],{},"adm",[47,1856,1857],{},"systemd-journal",": ",[47,1860,1861],{},"sudo usermod -aG adm vector"," и перезапустите сервис через ",[47,1864,1865],{},"sudo systemctl restart vector",[35,1867,1868,1871,1872,1874,1875,1878,1879,1881],{},[39,1869,1870],{},"Дублирование записей:"," Если ",[47,1873,1393],{}," и новый инструмент работают одновременно, логи могут дублироваться и занимать двойной объём. Убедитесь, что ",[47,1876,1877],{},"logrotate.timer"," полностью остановлен и замаскирован, а приложения пишут в ",[47,1880,1127],{}," или напрямую в обработчик нового сервиса.",[35,1883,1884,1887,1888,1891,1892,341,1895,1898],{},[39,1885,1886],{},"Высокое потребление CPU при сжатии:"," Если сервер испытывает нагрузку, измените алгоритм компрессии на ",[47,1889,1890],{},"zstd"," в конфигурации ",[47,1893,1894],{},"vector.toml",[47,1896,1897],{},"fluent-bit.conf",". Он обеспечивает лучшее соотношение скорости и степени сжатия, снижая I/O wait и освобождая процессорное время для рабочих процессов.",[1054,1900,1901],{},"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 .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}",{"title":92,"searchDepth":106,"depth":106,"links":1903},[1904,1905,1906,1907,1908,1909,1910,1911],{"id":18,"depth":106,"text":19},{"id":26,"depth":106,"text":27},{"id":1420,"depth":106,"text":1421},{"id":1475,"depth":106,"text":1476},{"id":1572,"depth":106,"text":1573},{"id":1699,"depth":106,"text":1700},{"id":851,"depth":106,"text":852},{"id":905,"depth":106,"text":906},"2026-04-04 23:58:54","Узнайте, чем заменить устаревший logrotate. Пошаговая настройка современных инструментов ротации логов. Экономьте место на диске уже сегодня!","20-30 мин",[1916,1919,1922],{"question":1917,"answer":1918},"Почему стоит уйти от стандартного logrotate?","logrotate работает через cron, требует ручного редактирования конфигов для каждого сервиса и плохо масштабируется. Современные инструменты обрабатывают логи в реальном времени, поддерживают сжатие на лету и интеграцию с мониторингом.",{"question":1920,"answer":1921},"Безопасно ли удалять logrotate после установки альтернативы?","Да, но только после полной остановки и отключения сервиса `logrotate.timer` или `cron`-задачи. Убедитесь, что новый инструмент успешно обработал текущие файлы журналов.",{"question":1923,"answer":1924},"Какой инструмент выбрать для высоконагруженных серверов?","Для нагрузок от тысяч логов в секунду рекомендуется `Vector` или `Fluent Bit`. Они написаны на Rust/C, потребляют минимум памяти и гарантируют доставку данных без потери записей.",[1926,1929,1932,1935],{"name":1927,"text":1928},"Аудит текущей ротации","Проверьте активные конфигурации в `/etc/logrotate.d/` и оцените объём занимаемого места, чтобы понять требуемую производительность нового сервиса.",{"name":1930,"text":1931},"Установка современного инструмента","Добавьте официальный репозиторий и установите пакет, например `vector` или `fluent-bit`, используя стандартный менеджер пакетов вашего дистрибутива.",{"name":1933,"text":1934},"Создание конфигурации ротации","Настройте правила сжатия, хранения и архивации логов в YAML/TOML формате, указав целевые директории и политику удаления старых файлов.",{"name":1936,"text":1937},"Запуск и тестирование","Активируйте systemd-юнит нового сервиса, сгенерируйте тестовые записи в лог и проверьте создание архивов и очистку исходных файлов.","PT30M",[1940,1941,1942,1943,1944,1945,1946,1947],"альтернативы logrotate linux","чем заменить logrotate","ротация логов ubuntu debian","настройка vector logging","fluent bit log rotation","logrotate аналог","автоматическая очистка логов","управление журнальными файлами",{},[1950,1951,1952],"/guides/linux/monitoring-journalctl-systemd","/guides/linux/nastroyka-logwatch-linux","/guides/linux/optimizaciya-diskovogo-prostranstva","Администрирование Linux",{"title":1380,"description":1913},"guides/linux/linux-logrotate-alternatives","Узнайте, почему стандартный logrotate уступает современным аналогам, и настройте ротацию логов с помощью Vector, Fluent Bit или logrotate-ng. Вы получите готовые конфигурации и безопасный план миграции.",[1117,1958,1131,1959,1471,1960,1129],"log-rotation","fluent-bit","logmanagement","n-bJgSHqEJ6oiDq52o4ohveCYpH2ZoQfEzNDp2jOhp4"]