یک اسکریپت Bash بنویسید که وضعیت فعلی CPU، حافظه و فضای دیسک را نمایش دهد و در صورت عبور هر یک از آنها از آستانههای قابل تنظیم (مثلاً CPU>80%، حافظه>75%، دیسک>90%) یک هشدار چاپ و در فایل لاگ ذخیره کند
8.0 بازدید آخرین ویرایش در 202 روز قبل ساعت 02:54 0.0
برای حل این مسئله میتوانید از ابزارهای استاندارد خط فرمان مانند top (یا awk روی /proc/stat برای محاسبه دقیقتر)، free -m برای استفاده حافظه و df -P برای درصد پر شدن پارتیشنها استفاده کنید؛ مقادیر را با awk استخراج و با شرطهای Bash مقایسه کنید. ایدههای مفید: آستانهها را بهصورت آرگومان ورودی یا متغیرهای بالای فایل تعریف کنید، خروجی هشدار را با تاریخ در فایلی مثل /var/log/my_monitor.log append کنید و برای اجرای دورهای از cron استفاده کنید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
نکتهای سریع: بهتر است مقادیر آستانهها را بهصورت متغیرهای قابل تنظیم در ابتدای اسکریپت یا از طریق گزینههای خط فرمان تعریف کنید تا تغییرشان آسان باشد. برای CPU از /proc/stat استفاده کنید و با تفاوت دو نمونه در فواصل زمانی معین، میانگین استفاده را محاسبه کنید تا دقیقتر باشد. هشدارها را با تاریخ در فایل لاگ /var/log/my_monitor.log پیوست کنید و برای مدیریت حجم لاگ از logrotate استفاده کنید. برای اجرای دورهای، کارکرد cron مناسب است ولی در سیستمهای جدید میتوانید از systemd timer بهره ببرید.
گزارش