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