اگر در هنگام کار کردن با سیستم WHMCS خودتان با صفحهٔ خطایی با توضیحات زیر مواجه شدید، به احتمال زیاد فضای پوشه یا پارتیشن tmp سرور شما پر شده است.
ERROR: PDOException: SQLSTATE[HY000]: General error: 1021 Disk full (/tmp/.mysql/#sql_262ef_24.MAI); waiting for someone to free some space... (errno: 28 "No space left on device") in /home/aberoesa/public_html/vendor/illuminate/database/Connection.php:336
در این صورت باید اقدام به خالی کردن مسیر /tmp سرور خود کنید. دقت داشته باشید که این مسیر برای ذخیره کردن فایلهای موقتی روی سرور است که معمولاً کاربران یا سرویسهای آنها از این فضا برای این منظور استفاده میکنند. مسیر /tmp در سطح مدیریت سرور است و اگر یک کاربر معمولی روی سرور هستید، حتماً باید با پشتیبان هاست خود و یا مدیر سرورتان تماس بگیرید و مشکل را اعلام کنید.
در حالت عادی تنها وقتی پوشهٔ /tmp خالی میشود که سرور یک بار reboot شود. اگر قصد ریبوت کردن را نداشته باشید، میبایستی به صورت دستی اقدام به خالی کردن این مسیر کنید. اما این کار ممکن است مشکلزا باشد. به این دلیل که برخی از سرویسها ممکن است درون /tmp فایلهایی داشته باشند که به آنها نیاز دارند. پس عملکرد آنها را با مشکل مواجه میکنند.
یکی از بهترین روشها استفاده از دستور tmpwatch است. اگر این بستهٔ نرم افزاری روی سرور شما نصب نیست، میتوانید با دستور yum آن را نصب کنید؛ البته به شرطی که دسترسی ریشه (root) به سرور داشته باشید. سپس با اجرای دستور زیر خیلی راحت تنها فایلهایی که از ۴۸ ساعت گذشته به قبل دست نخورده هستند را حذف خواهید کرد:
tmpwatch -maf 48 /tmp
یعنی با این روش مطمئن هستید که فایلهایی که احتمالاً به آنها نیاز است، حذف نخواهند شد.
در صورتی هم که خواسته باشید این کار به صورت دورهای، خودکار انجام شود، بهتر است این دستور را در Cron سرور خود در سطح root اضافه نمایید.
نکتهٔ آخر اینکه دلایلی دیگری هم میتوانند برای پر شدن /tmp وجود داشته باشد. مثل مشکل در اسکریپت شما یا دیگر کاربرانی که روی سرور میزبانی میشوند یا هک شدن سایت. در این صورت این فضا به صورت افراطی شروع به پر شدن میکند و روی سایت و دیگر اسکریپتها اختلال ایجاد خواهد کرد. پس نیاز است برای رفع ایراد حرفهایتر، دانش بیشتری هم داشته باشیم.
۰ دیدگاه