2

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

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

/dev/xvda1           2490368 2490351      17  100% /

Думаю, я проследил проблему до конца. До того, как я отключил postfix и postdrop, иноды сразу заполняются, как только я освобождаю их.

Из того, что я вижу, тысячи и тысячи файлов создаются в /var /spool /postfix /maildrop. Сама папка составляет 67 МБ. Я не могу "ls" папку, я пытался "rm -rf maildrop /", который просто висит долго.

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

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

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

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

вышеуказанная команда решила проблему

Это заняло 48 часов. В папке /var /spool /postfix /maildrop оказалось почти 2 000 000 файлов.

3 ответа3

3

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

Попробуйте с:

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

Или попробуйте с:

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

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

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

2

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

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

Эта команда запускает команду "rm" для КАЖДОГО файла!

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

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

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

0

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .