1. مستندات
  2. سرور مجازی
  3. لینوکس
  4. بدون کنترل‌پنل
  5. بررسی حجم مصرفی هارد و حذف فایل‌های اضافی

بررسی حجم مصرفی هارد و حذف فایل‌های اضافی

Calendar

انتشار:

1404/08/09
Update Calendar

به روز رسانی:

1404/08/09

در این راهنما می‌خواهیم یاد بگیریم چگونه در VPS لینوکسی فضای هارد را بررسی کنیم و فایل‌های غیرضروری را حذف کنیم تا سرور کارآمدتر شود.

مرحله اول: بررسی وضعیت کلی فضای دیسک با دستور df

بعد از ورود به سرور از طریق SSH، اولین قدم این است که بدانید چه مقدار از فضای دیسک شما در حال حاضر اشغال شده است. برای این کار باید از دستور زیر استفاده کنید:

df -h

در خروجی، هر ردیف نشان‌دهنده‌ی یک پارتیشن یا فضای ذخیره‌سازی است. ستون Size کل ظرفیت، Used میزان فضای استفاده‌شده، و Avail فضای باقی‌مانده را نمایش می‌دهد. همچنین ستون Use% درصد اشغال دیسک را مشخص می‌کند. گزینه‌ی -h باعث می‌شود اعداد به‌صورت خوانا (مثل GB یا MB) نمایش داده شوند تا نیاز به محاسبه‌ی دستی نداشته باشید.
اگر عدد ستون Use% نزدیک به 100% باشد، یعنی هارد شما تقریباً پر شده و باید فایل‌های غیرضروری را حذف کنید.

نمای خروجی دستور df -h

مرحله دوم: شناسایی مسیرهای پرحجم با دستور du

اگر بخواهید بدانید کدام دایرکتوری‌ها بیشترین فضا را اشغال کرده‌اند، می‌توانید از دستور du استفاده کنید. این دستور به شما اجازه می‌دهد حجم هر پوشه را در مسیر دلخواه مشاهده کنید. به‌عنوان مثال، برای بررسی دایرکتوری ریشه، بنویسید:

sudo du -h --max-depth=1 /

گزینه‌ی --max-depth=1 باعث می‌شود فقط فولدرهای سطح اول نمایش داده شوند. به‌همین شکل اگر می‌خواهید فولدر خاصی مثل /var یا /home را بررسی کنید، کافیست مسیر را در انتهای دستور تغییر دهید.
خروجی این دستور به شما نشان می‌دهد کدام پوشه‌ها بیشترین فضا را اشغال کرده‌اند تا بتوانید تمرکز خود را روی همان قسمت‌ها بگذارید.

مای خروجی دستور du برای مسیر /var

مرحله سوم: بررسی دقیق‌تر با ابزار ncdu

اگر بخواهید در محیطی تعاملی‌تر حجم فولدرها را مشاهده کنید، ابزار ncdu انتخاب بهتری است. این ابزار در واقع نسخه‌ی گرافیکی متنی دستور du است و به شما اجازه می‌دهد در ترمینال بین دایرکتوری‌ها حرکت کنید و فایل‌های حجیم را سریع‌تر شناسایی نمایید.
در اوبونتو یا دبیان می‌توانید ncdu را با دستور زیر نصب کنید:

sudo apt install ncdu -y

نمای محیط ncdu

و سپس با اجرای دستور زیر آن را باز کنید:

sudo ncdu /

با کلیدهای جهت‌نما می‌توانید بین مسیرها حرکت کنید و حجم هر پوشه را مشاهده کنید. برای خروج نیز از کلید q استفاده کنید. در توزیع‌هایی مثل CentOS یا AlmaLinux هم می‌توانید از دستور زیر برای نصب بهره ببرید:

sudo yum install ncdu -y

این ابزار مخصوصاً برای زمانی مفید است که نمی‌دانید دقیقاً کدام مسیر باعث پر شدن هارد شده است.

sudo ncdu

مرحله چهارم: پاک‌سازی فایل‌های کش و پکیج‌های اضافی

در سیستم‌عامل‌های لینوکسی، به‌ویژه بعد از نصب یا به‌روزرسانی بسته‌ها، فایل‌های موقتی و کش زیادی ذخیره می‌شوند. این فایل‌ها در بلندمدت فضای زیادی اشغال می‌کنند. برای حذف آن‌ها، در اوبونتو و دبیان از دستورات زیر استفاده کنید:

sudo apt autoremove -y
sudo apt clean
sudo apt autoclean

دستور autoremove بسته‌هایی را که دیگر مورد نیاز نیستند حذف می‌کند، در حالی‌که clean و autoclean فایل‌های کش مربوط به بسته‌های نصب‌شده را پاک می‌کنند.
در سرورهایی با CentOS یا AlmaLinux نیز معادل همین دستورات وجود دارد:

sudo yum clean all
sudo dnf autoremove -y

با اجرای این دستورات معمولاً چندصد مگابایت تا چند گیگابایت فضا آزاد می‌شود.

نمای اجرای دستور clean و autoremove

مرحله پنجم: حذف فایل‌های لاگ حجیم

بخش بزرگی از فضای مصرفی معمولاً مربوط به فایل‌های لاگ (گزارش‌ها) است که سیستم و سرویس‌ها به‌صورت خودکار تولید می‌کنند. این فایل‌ها معمولاً در مسیر /var/log قرار دارند. برای بررسی حجم آن‌ها از دستور زیر استفاده کنید:

sudo du -h /var/log

اگر فایل‌های بزرگی مثل syslog یا auth.log دارید، می‌توانید بدون حذف خود فایل، محتوای آن را خالی کنید تا فضا آزاد شود:

sudo truncate -s 0 /var/log/syslog
sudo truncate -s 0 /var/log/auth.log

در توزیع‌هایی مانند CentOS یا AlmaLinux ممکن است فایل‌های اصلی در مسیر /var/log/messages باشند که همان روش را می‌توانید روی آن‌ها اجرا کنید.

نمای فایل‌های لاگ حجیم در /var/log

مرحله ششم: حذف فایل‌های موقت سیستم

پوشه‌های /tmp و /var/tmp محل ذخیره‌ی فایل‌های موقت سیستم هستند. فایل‌های این مسیرها معمولاً کاربرد دائمی ندارند و می‌توانند به‌صورت امن حذف شوند. اگر می‌خواهید فقط فایل‌های قدیمی‌تر از ۷ روز پاک شوند، از دستورات زیر استفاده کنید:

sudo find /tmp -type f -mtime +7 -exec rm -f {} \;
sudo find /var/tmp -type f -mtime +7 -exec rm -f {} \;

با این روش فایل‌های جدیدتر باقی می‌مانند و فقط فایل‌هایی که مدت زیادی بلااستفاده بوده‌اند حذف می‌شوند.

نمای پوشه /tmp و فایل‌های موقت

مرحله هفتم: جستجوی فایل‌های بسیار بزرگ

گاهی برخی فایل‌های حجیم مانند بکاپ‌ها یا خطاهای بزرگ نرم‌افزاری در مسیرهای غیرمنتظره ذخیره می‌شوند. برای شناسایی آن‌ها می‌توانید از دستور زیر استفاده کنید. این دستور تمام فایل‌هایی را که بیش از ۱ گیگابایت حجم دارند لیست می‌کند:

sudo find / -type f -size +1G

نمای خروجی دستور find برای فایل‌های بزرگ

پس از شناسایی می‌توانید در صورت غیرضروری بودن، آن‌ها را با دستور زیر حذف کنید:

sudo rm -f /مسیر/فایل

بهتر است قبل از حذف، مسیر و نام فایل را بررسی کنید تا مطمئن شوید فایل مهمی را پاک نمی‌کنید.

حذف فایل حجیم

مرحله هشتم: کاهش حجم لاگ‌های journalctl

در سیستم‌هایی که از systemd استفاده می‌کنند، فایل‌های journalctl نیز می‌توانند چندین گیگابایت فضا اشغال کنند. برای بررسی حجم آن‌ها دستور زیر را اجرا کنید:

journalctl --disk-usage

اگر حجم زیادی مصرف شده بود، می‌توانید با دستور زیر اندازه‌ی آن را محدود کنید:

sudo journalctl --vacuum-size=200M

این دستور باعث می‌شود فقط ۲۰۰ مگابایت از جدیدترین لاگ‌ها نگهداری شود و بقیه حذف گردند.

نمای خروجی دستور journalctl

در پایان، با انجام مراحل بالا می‌توانید فضای دیسک سرور لینوکسی خود را بهینه نگه دارید و از مشکلات ناشی از پر شدن هارد جلوگیری کنید.

آیا توانستیم چالش شما را حل کنیم؟