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