Диск занят на 100% и не понятно чем, df и du показывают разные значения

Thank you for reading this post, don't forget to subscribe!

Смот­рим раз­мер всех папок с помо­щью кон­струк­ции, запу­щен­ной в кон­со­ли с кор­ня диска:

Полу­чим сра­зу в кон­со­ли раз­мер всех дирек­то­рий. У меня полу­чи­лось так, что если сло­жить объ­ем всех дирек­то­рий, то полу­чит­ся заня­ты­ми где-то 6 Гб дис­ка. А если выпол­нить команду

То вид­но, что корень занят на 100%, а его раз­мер равен 20-ти Гб. Кто занял осталь­ные 14 гига­байт места было не понятно

Суть в том, что уда­лен какой-то боль­шой файл, кото­рый до сих пор открыт при­ло­же­ни­ем. Но смысл в том, что на этом сер­ве­ре тако­го фай­ла нико­гда не было. Раз­ра­бот­чик ска­зал, что ниче­го осо­бен­но­го послед­нее вре­мя на сер­ве­ре не делал.

Более того, я посмот­рел мони­то­ринг сер­ве­ра и заме­тил, что сво­бод­ное место умень­ша­лось плав­но в тече­нии послед­них двух дней. Ника­ко­го скач­ка не было. Какой-то дирек­то­рии с мил­ли­о­на­ми мел­ких фай­лов не было то же. Подоб­ная дирек­то­рия тео­ре­ти­че­ски может создать такую непо­нят­ку со сво­бод­ным местом, если раз­мер одно­го фай­ла мень­ше бло­ка, в кото­ром этот файл хранится.

Пере­хо­дим к кон­кре­ти­ке. Когда у вас сло­жи­лась ситу­а­ция, что не понят­но, куда делось сво­бод­ное место, кото­рое ничем не заня­то, пер­вым делом про­верь­те уда­лен­ные фай­лы, кото­рые все еще откры­ты каким-то приложением:

Пред­по­след­ний стол­бец это раз­мер фай­ла. Про­бле­ма со сво­бод­ным место была вот в чем. Пару недель назад раз­ра­бот­чик зашел на сер­вер и про­сто уда­лил лог оши­бок nginx. И не пере­за­пу­стил его. Он где-то неде­лю так про­ра­бо­тал, а потом рез­ко уве­ли­чил интен­сив­ность запи­си в этот файл. Он посто­ян­но рос, пока не занял все про­стран­ство раз­де­ла. Смысл в том, что nginx несколь­ко дней писал в уда­лен­ный файл, кото­рый зани­мал место на дис­ке. Если бы раз­ра­бот­чик не тро­гал этот лог, то он бы роти­ро­вал­ся раз в сут­ки и про­бле­мы бы не было. А так он из систе­мы был уда­лен, но реаль­но посто­ян­но рос, его не было вид­но и он не обра­ба­ты­вал­ся с помо­щью logrotate.