یک اسکریپت 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 استفاده کنید.

توسط پژوهشگر در 202 روز قبل ساعت 02:54
دسته بندی ها: Bash Scripting Bash Scripting for beginner
nima در 202 روز قبل ساعت 08:08

نکته‌ای سریع: بهتر است مقادیر آستانه‌ها را به‌صورت متغیرهای قابل تنظیم در ابتدای اسکریپت یا از طریق گزینه‌های خط فرمان تعریف کنید تا تغییرشان آسان باشد. برای CPU از /proc/stat استفاده کنید و با تفاوت دو نمونه در فواصل زمانی معین، میانگین استفاده را محاسبه کنید تا دقیق‌تر باشد. هشدارها را با تاریخ در فایل لاگ /var/log/my_monitor.log پیوست کنید و برای مدیریت حجم لاگ از logrotate استفاده کنید. برای اجرای دوره‌ای، کارکرد cron مناسب است ولی در سیستم‌های جدید می‌توانید از systemd timer بهره ببرید.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری