Рейтинг:1

Почему моя пустая папка имеет размер 134 ГБ?

флаг fr

Я переместил файлы со своего старого сервера на новый. Я не знаю почему, но когда я хочу заархивировать свою папку, она всегда зависает на папке.

Сначала я подумал, что это не удалось, поэтому я отменил, нажав ctrl+c, но я пробовал несколько раз и всегда один и тот же результат.

Моя zip-команда:

zip -r backup.zip /var/www -x '*.log*'

Я пробовал так много молния команды с параметрами/аргументами или без них, но все равно зависает /admin/хранилище/журналы/0 каталог.

При зависании процесс zip все еще работал, поэтому я пытался подождать около 3 часов, пока он не завершится.

После завершения я переехал .zip файл размером 7,7 ГБ на новый сервер, а затем попытался извлечь его. При извлечении возвращается:

/admin/storage/logs/0: ошибка записи (диск заполнен?)

Мой новый сервер имеет 160 ГБ, а старый сервер имеет только около 15 ГБ. Что делает новый сервер полным?

Исследуя, я нашел папку /admin/хранилище/журналы/ имеет размер 134 ГБ, но когда я запускаю команду лс оно пустое. Я удалил эту папку, но когда я запускаю дф-ч используемое дисковое пространство остается прежним.

Ниже моя история команд:

root@ip-172-26-4-220:/var/www/www/admin/storage# du -hs * | сортировать -rh
журналы 134G
1.2G приложение
32K фреймворк
8.0K панель отладки
root@ip-172-26-4-220:/var/www/www/admin/storage# cd logs/
root@ip-172-26-4-220:/var/www/www/admin/storage/logs# du -hs * | сортировать -rh
134G 0
root@ip-172-26-4-220:/var/www/www/admin/storage/logs# cd ..
root@ip-172-26-4-220:/var/www/www/admin/storage# rm -r logs/
root@ip-172-26-4-220:/var/www/www/admin/storage# du -hs * | сортировать -rh
1.2G приложение
32K фреймворк
8.0K панель отладки
root@ip-172-26-4-220:/var/www/www/admin/storage# df -h
Используемый размер файловой системы Доступно Использование % Установлено на
/dev/root 156G 156G 2.2M 100%/
devtmpfs 3.9G 0 3.9G 0% /dev
tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs 796M 832K 796M 1%/запуск
tmpfs 5.0M 0 5.0M 0% /выполнить/заблокировать
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup

Как освободить место?

На старом сервере админ/хранилище/журналы папка имеет только 52M:

[root@server storage]# du -hs * | сортировать -rh
Приложение 3.4G
52 млн журналов
2.7M фреймворк
4.0K oauth-public.key
4.0K oauth-private.key
4.0K панель отладки

Почему извлеченному файлу .zip было дано больше 134 ГБ?

[root@server admin]# cd storage/logs/
[журналы root@server]# ls -lh
всего 51M
-rwxrwxrwx 1 root root 1.0T 30 сентября 2020 г. 0
drwxr-xr-x 2 root root 8.0K 1 сент. 12:00 cron
-rwxrwxrwx 1 apache apache 1.6K 6 марта 2020 г.
-rwxrwxrwx 1 apache apache 720 23 марта 2020 г. интерфейс-ответ-2020-03-23.log
-rwxrwxrwx 1 apache apache 353 29 апреля 2020 г. интерфейс-ответ-2020-04-29.log
-rwxrwxrwx 1 apache apache 719 30 апреля 2020 г. интерфейс-ответ-2020-04-30.log
-rw-r--r-- 1 apache apache 51M 1 сентября 18:00 laravel.log
[журналы root@server]# df -h
Используемый размер файловой системы Доступно Использование % Установлено на
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 1.9G 188M 1.7G 10%/запуск
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/sda2 36G 25G 11G 71%/
tmpfs 379M 0 379M 0% /выполнить/пользователь/0

вау, файл 0 имеет размер 1 ТБ. но почему дф вернуть только 25gb использовано? Может быть, мне нужно удалить его перед миграцией?

флаг fr
@Tilman Я обновил вопрос, этот каталог имеет размер 1 ТБ, но `df` вернул только 25 ГБ общего используемого диска.
evening_g avatar
флаг mw
Возможно файловая система сломана. У меня была похожая проблема с образом на 20 Гб в NTFS, только надо было поправить файловую систему. Возможно, что-то подобное произошло и у вас.
Рейтинг:2
флаг cn

Файл /var/www/admin/хранилище/журналы/0 вполне вероятно, что это разреженный файл. То есть он не содержит фактических данных по всей своей длине. Есть отрезки, которые никогда не записывались и поэтому не занимают места на диске. Если они прочитаны, ядро ​​Linux просто возвращает серию байтов со значением 0, которое очень хорошо сжимается, поэтому молния без проблем умещает весь файл размером 1 ТБ в архив размером 7,7 ГБ. Но при распаковке архива распаковать попытается записать все эти нули на диск, потому что не знает, что их на самом деле не было на старом сервере.

У вас есть два возможных варианта действий:

а) Удалите файл на старом сервере или хотя бы исключите его из zip-архива. Вряд ли в нем есть что-то полезное. Разреженный файл журнала довольно необычен и обычно возникает только из-за какой-либо неисправности, неправильной ротации журнала или чего-то подобного.

б) Вместо молния, используйте программу архивирования с поддержкой разреженных файлов, например GNU tar, которая может воссоздать разреженный файл на новом сервере.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.