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