برام خیلی سوال شده بود که در عرض کمتر از یه هفته چطور ممکنه بیش از ۱۰۰ گیگ از حجم این سرورمجازی اشغال شده باشه؟! حدس زدم که حتما مشکلی باید باشه. بنابراین از ترمینال (Putty) استفاده کردم و با استفاده از SSH به این سرور متصل شدم.
مراحل لیست نمودن فولدرها و فایل های دارای بیشترین حجم در سرور لینوکس
مرحله 1: قبل از هر کاری با دستور زیر به ریشهی سرور (root) رفتم:
cd /
مرحله 2: حال که در ریشه اصلی سرور قرار داریم فضای خالی کل سرور را با دستور زیر بررسی میکنیم:
df -h
با این دستور متوجه شدم که کل فضای سرور اشغال شده (تصاویر بالا) و دلیل نمایش پیغام هشدار از طرف دایرکت ادمین هم همین بوده است.
مرحله 3: حال برای اینکه متوجه شوم کدام فولدرها یا فایلها بیشترین حجم را اشغال کردهاند از دستور زیر استفاده میکنم:
du -hsx * | sort -rh | head -10
با دستور بالا ۱۰ تا از فولدرها و فایلهایی که بیشترین حجم را اشغال کردهاند به ترتیب از بیشترین تا کمترین حجم، لیست خواهند شد. و کاملا مشخصه که اگه در دستور بالا بجای عدد ۱۰ از هر عددی استفاده کنیم، به همون تعداد فایل یا فولدر لیست میشه. اما مشکلی که هست اینه که این لیست فقط شامل فولدرها و فایلهایی هست که توی ریشه هستند و نشون نمیده توی اونها دقیقا کدوم فایل یا فولدر حجم رو اشغال کرده، مثلا توی عکس زیر پوشه var حدود 47 گیگ رو اشغال کرده، اما نمیدونیم داخل var چه فایلها و فولدرهایی بیشترین حجم رو اشغال کردن بنا براین باید وارد پوشه var بشیم و مجددا دستور مرحله ۳ رو تکرار کنیم تا ۱۰ تا از فایلها و فولدرهای داخل var که بیشترین حجم از فضا رو اشغال کردن لیست بشن. و این کار رو تا جاییکه به درونیترین فایل یا فولدر مورد نظر برسیم تکرار میکنیم.
هر سوالی دارین از قسمت پایین (نظرات) بپرسید، خوشحال میشم بتونم کمکی کرده باشم.
دیدگاهها
برای وارد شدن به پوشه var کافیه که بنویسید:
cd var
و برای حذف همهی اطلاعات درونش کافیه بنویسید:
rm -rf *
فقط هشدار بدم که با اجرای دستور بالا، کل اطلاعات پوشهی var حذف میشن! و این کاملا کار اشتباهیه. بهتر اینه که بعد از دستور cd var مجددا دستور زیر رو که لیست ۱۰ پوشهی پرحجمتر از بقیه رو لیست میکنه اجرا کنیم:
du -hsx * | sort -rh | head -10
و بعدش که لیست پوشههای پر حجم رو دیدیم با دستور cd وارد پوشهای که بیشترین حجم رو اشغال کرده بشیم و اونوقته که میتونیم به راحتی دستور زیر رو اجرا کنیم:
rm -rf *