CentOS 6-Inodes full-не удается удалить папку, содержащую файлы

у меня есть сервер CentOS 6 в rackspace с 40 ГБ пространства. Мой сервер продолжал сбой с ошибками "не осталось места на устройстве", но есть более 50% бесплатно.

когда я запускаю df-i, это вывод:

/dev/xvda1           2490368 2490351      17  100% /

Я проследил проблему до postdrop я думаю. Прежде чем я отключил postfix и postdrop, inodes немедленно заполнялись, как только я освобождал их.

из того, что я вижу, есть тысячи и тысячи файлов, создаваемых в в /var/катушка/постфикс/почтового ящика. Сама папка 67MB. Я не могу "ls" папку, я пытался " rm-rf maildrop/", который просто висит в течение длительного времени.

как я могу удалить эту папку. Я даже не использую почту на сервере, поэтому я отключил postfix, postdrop и sendmail.

drwx-wx---. 2 postfix postdrop  67M Dec 18 18:25 maildrop 

просто хотел обновить:

ls -1 | xargs -I{} rm {}

эта команда решили проблему

потребовалось 48 часов. Там оказался почти 2,000,000 файлов в в /var/катушка/постфикс/почтового ящика папку.

10
задан freedev
19.11.2022 5:50 Количество просмотров материала 2561
Распечатать страницу

3 ответа

Если у вас есть каталог, полный файлов, как правило, вы не можете просто удалить все файлы с rm

попробовать с:

find /path/to/directory -type f -exec rm {} \;

или попробовать с:

ls -1 /path/to/directory | xargs -I{} rm {}

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

когда у вас есть миллион файлов в одном каталоге, вы не можете удалить файлы с помощью команд, таких как rm. потому что rm в любом случае перебирает все файлы и Директории.

3
отвечен freedev 2022-11-20 13:38

Хмм вы действительно хотите, чтобы убить сервер? Поэтому не используйте"\; " в

find /path/to/directory -type f -exec rm {} \;

эта команда запустит команду" rm " для каждого файла!

используйте команду" найти " правильно:

find /directory/ -name ‘*’ -exec rm {} +

команда "rm" будет вызываться только для найденных файлов. И ваш сервер будет Вам благодарен! ;) ;) ;)

2
отвечен DevSilez 2022-11-20 15:55

после получения различные ошибки при попытке выполнить любую команду freedev предложил, я закончил прибираться такой:

rm -f 0*
rm -f 1*
rm -f 2*
[...]
rm -f 9*

вы можете сначала сделать a rm -f 00* оценить, сколько времени это займет

0
отвечен periklis 2022-11-20 18:12

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх