محاسبه فضای استفاده‌شده دیسک با PHP در سرور لینوکس

مدیریت منابع سرور یکی از چالش‌های اصلی در دنیای مدیریت سیستم‌ها و سرورها است. یکی از جنبه‌های مهم در این زمینه، نظارت بر فضای دیسک و اطمینان از عدم پر شدن آن...

انتشار: , زمان مطالعه: 3 دقیقه
محاسبه فضای استفاده‌شده دیسک با PHP در سرور لینوکس
دسته بندی: برنامه نویسی تعداد بازدید: 50

راهکار پیشنهادی

برای محاسبه درصد فضای استفاده‌شده از دیسک، از یک تابع PHP که دستورات سیستمی لینوکس را اجرا می‌کند، استفاده می‌کنیم. این تابع با فراخوانی دستور df در سیستم‌عامل لینوکس، اطلاعات مربوط به فضای دیسک را دریافت کرده و آن را پردازش می‌کند تا به‌صورت خلاصه درصد فضای استفاده‌شده را نمایش دهد.

نحوه عملکرد تابع

در این روش، ما از قابلیت‌های PHP برای اجرای دستورات سیستم‌عامل استفاده می‌کنیم. دستور df -h --total برای نمایش اطلاعات مربوط به فضای دیسک به کار می‌رود. در این دستور:

  • فلگ -h خروجی را به‌صورت قابل خواندن برای انسان (واحدهایی مانند گیگابایت و مگابایت) نمایش می‌دهد.
  • فلگ --total مجموع کل فضای استفاده‌شده از تمامی فایل‌سیستم‌ها را نشان می‌دهد.

همچنین از ابزارهای grep و awk برای فیلتر کردن و استخراج اطلاعات دقیق استفاده شده است. کد زیر، تابع کامل PHP است که می‌تواند به‌راحتی در هر پروژه وب یا اسکریپت سروری ادغام شود:

کد محاسبه فضای دیسک

<?php
//-------------------------------------------------------------------
// Programmer       : Ebrahim Shafiei (EbraSha)
// Email                     : [email protected]
//-------------------------------------------------------------------

public function get_disk_usage()
{
    $output = shell_exec("df -h --total | grep 'total' | awk '{print $5}'");
    $output = trim($output);
    if ($output == "") {
        return "Error calc";
    } else {
        return $output; 
    }
}
?>

توضیحات کد

  1. اجرای دستور شل: با استفاده از تابع shell_exec در PHP، دستور df -h --total اجرا می‌شود که اطلاعات مربوط به فضای دیسک را از سیستم‌عامل دریافت می‌کند.
  2. فیلتر کردن خروجی: از grep 'total' برای یافتن خطی که مربوط به مجموع فضای دیسک است استفاده شده و سپس با awk '{print $5}' ستون پنجم که شامل درصد فضای استفاده‌شده است استخراج می‌شود.
  3. بررسی و پردازش خروجی: پس از اجرای دستور، تابع trim() فضاهای خالی اضافی را حذف می‌کند و سپس بررسی می‌شود که آیا خروجی معتبری وجود دارد یا خیر. در صورت عدم وجود داده معتبر، پیام "Error calc" بازگردانده می‌شود. در غیر این صورت، درصد فضای استفاده‌شده بازگردانده می‌شود.

کاربردها

این تابع PHP می‌تواند به راحتی در انواع سیستم‌های مانیتورینگ و مدیریت سرورها ادغام شود. با اجرای دوره‌ای این تابع، می‌توانید وضعیت دیسک‌های سرور را تحت نظارت داشته باشید و از پر شدن احتمالی دیسک‌ها جلوگیری کنید.

مزایا

  • ساده و کارآمد: این تابع ساده است و به سرعت اطلاعات دقیق و مورد نیاز را از سرور استخراج می‌کند.
  • قابل اجرا در سرورهای لینوکس: با استفاده از دستورات استاندارد لینوکس، این کد بر روی تمامی سرورهای مبتنی بر لینوکس به خوبی کار می‌کند.
  • قابل ادغام در سیستم‌های مانیتورینگ: می‌توان این تابع را در سیستم‌های مانیتورینگ مانند Zabbix یا Nagios ادغام کرد تا به‌صورت خودکار وضعیت دیسک‌ها را بررسی کند.
  • پشتیبانی از تمامی پلتفرم‌های مبتنی بر PHP: این کد به راحتی در تمامی پلتفرم‌ها و فریم‌ورک‌های مبتنی بر PHP مانند WordPress، Laravel، و Symfony قابل استفاده است. با اندکی تنظیمات، می‌توانید این تابع را در هر پروژه PHP ادغام کرده و اطلاعات مربوط به فضای دیسک را در داشبوردهای مدیریتی یا سیستم‌های مانیتورینگ نمایش دهید.

مدیریت منابع سرور، از جمله نظارت بر فضای دیسک، از اهمیت ویژه‌ای برخوردار است. با استفاده از این راهکار ساده PHP می‌توانید به سرعت وضعیت استفاده از فضای دیسک سرور خود را بررسی کنید و از بروز مشکلات احتمالی جلوگیری کنید. این روش با استفاده از دستورات استاندارد لینوکس و قابلیت‌های PHP، یک راه‌حل سریع، موثر و قابل اعتماد برای محاسبه درصد فضای استفاده‌شده از دیسک ارائه می‌دهد.


دیدگاه های مربوط به این مقاله (برای ارسال دیدگاه در سایت حتما باید عضو باشید و پروفایل کاربری شما تکمیل شده باشد)