پیدا کردن فایل ها حجیم در سرور لینوکس با کمک دستور
در این مقاله میخوانید
پیدا کردن فایل های حجیم در سرور لینوکس؛ گاهی اوقات با مشکلاتی در سرور لینوکس مواجه می شویم که ریشه آن در پر بودن فضای دیسک است. مواردی از عدم اجرای سرویس ها به درستی تا حتی فریز شدن و توقف کامل سیستم عامل و عدم امکان استفاده از آن . حال با سروری روبرو هستیم که هارد آن پر شده و یا سهم عمده ای از فضای آن توسط اطلاعاتی اشغال شده که نمی دانیم این اطلاعات کجا هستند و چطور باید آنها را پیدا کنیم تا در خصوص حذف آنها تصمیم گیری نماییم.
هشدار : توصیه اکید ما این است که پیش از حذف فایل ها از تصمیم خود کاملا اطمینان حاصل کنید زیرا لینوکس مکانیزم هایی مانند Recycle bin در ویندوز را ندارد و حذف یک فایل معادل با از دست رفتن کامل آن است.
فایل حجیم در سرور لینوکس
در گام اول بسته به شرایط سرور و حالت پیش آمده در اثر پر بودن فضای هارد ، یکی از روش های زیر را جهت اتصال به سرور انتخاب فرمایید:
- اتصال SSH
- استفاده از ابزار VNC
- راه اندازی سیستم عامل نجات (Rescue ) از طریق پنل ابر سرور
پس از اتصال به سرور لینوکس ابتدا وضعیت کلی هارد دیسک را با دستور df -h بررسی می کنیم. آپشن h باعث می شود خروجی human readable شده و با مگابایت ، گیگابایت و … معادل سازی شود .
خروجی این دستور یک ستون با عنوان Use% دارد که درصد فضای استفاده شده از هارد را نشان می دهد. اگر با بررسی این دستور و خروجی آن به این نتیجه رسیدید که فضای هارد بیش از حد مجاز اشغال شده است ، به گام بعدی بروید تا بیابیم کدام پوشه بیشترین فضا را اشغال کرده است.
لطفا به ترتیب دستورات زیر را در سرور خود وارد نمایید:
cd /
du -hsx * | sort -rh | head -10
دستور دوم به ترتیب فضای همه پوشه ها و زیر پوشه ها را محاسبه می کند. سپس خروجی را بر اساس فضای اشغال شده مرتب می کند و 10 آیتم ابتدایی این لیست را به شما نشان می دهد. می توانید بجای 10 اعداد دیگری قرار دهید که در نتیجه تعداد سطر ها و در نتیجه فایلهای حجیم خروجی تغییر می کند. این عمل را تا جایی تکرار کنید تا تمامی پوشه های اضافه را بیابید.
حذف فایل های حجیم در سرور لینوکس
سپس جهت حذف فایلها از دستور rm -f file_name و جهت حذف پوشه ها از rm -rf dir_name استفاده کنید. البته مجددا هشدار می دهیم که این دستورات را با آگاهی کامل و قبول برگشت ناپذیر بودن حذف فایل ها اجرا کنید. اگر در اجرای این دستورات با تردید و یا پرسش مواجه بودید حتما مراتب را جهت بررسی دقیقتر با بخش فنی از طریق تیکت مطرح فرمایید.سپس مرتبا با df -h خروجی را تست کنید تا به فضای اشغال شده مورد نظر خود برسید.
در بررسی ها گاهی اوقات با پوشه هایی مانند tmp و یا log مواجه می شویم که ممکن است حجم بالایی از فضا را اشغال کنند ولی ندانیم با اطلاعات آنها چه کنیم. پیشنهاد ما این است که تمامی محتوای این پوشه ها را حذف نکنید. زیرا مثلا لاگ ها در بسیاری موارد می تواند به ردیابی و یافتن عامل مشکلات دیگر کمک کند. لذا راهکار جایگزین حذف فایل های قدیمی تر از یک تاریخ معین در این پوشه ها است.
دستور فایند فایل های حجیم در سرور لینوکس
find /tmp -type f -mtime +7 | xargs rm -f
دستور فوق از دو بخش تشکیل شده است. در بخش ابتدایی بوسیله find در پوشه /tmp به جستجوی فایل ها می پردازد و همه آنهایی که آخرین تغییر در آنها قدیمی تر یک هفته پیش رخ داده است را می یابد. mtime به معنی modification time است و 7 به معنی تعداد روز مورد نظر ماست. نقش + این است که فایل های قدیمی تر از یک هفته را پیدا کند و اگر تاریخ ویرایش فایل به یک هفته و یا کمتر برسد در خروجی این بخش از دستور نخواهد بود.
بخش دوم دستور ، خروجی قسمت اول را بدست حذف کننده rm -f می سپارد تا در نتیجه آن تمامی فایل های قدیمی تر از یک هفته حذف شوند.
پیشنهاد ما به شما استفاده از تاریخ های بزرگتر است و پس از هر بار حذف ، خروجی df -h را کنترل کنید و فرآیند را تا جایی ادامه دهید تا به فضای هارد مطلوب برسید.
در این مقاله از آموزش لینوکس به بررسی دستورات کاربردی برای پیدا کردن فایل های حجیم و سنگین در سرور های لینوکسی پرداختیم.
سوالات متداول:
روش های اتصال به سرور در لینوکس برای پاکسازی فایل های حجیم چیست؟
به طور کلی دو روش وجود دارد:اتصال SSH و اتصال VNC
بعد از اتصال به سرور لینوکس چه باید کنیم؟
در گام نخست با استفاده از df -h باید وضعیت کلی هارد دیسک چک کنیم.آپشن h به شما کمک میکند تا خروجی با مگابایت ، گیگابایت و … برابر سازی شود.
با چه دستوری امکان محاسبه ی فضای پوشه ها و زیرپوشه ها را داریم؟
شما میتوانید با استفاده از دستورdu -hsx * | sort -rh | head -10 فضای همه پوشه ها و زیر پوشه ها را محاسبه کنید.
جهت حذف فایلها و پوشه ها از چه دستوراتی میتوان کمک گرفت؟
برای حذف فایل ها میتوان از دستور rm -f file_name و برای حذف پوشه ها از دستور rm -rf dir_name میتوان کمک گرفت.