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