یک اسکریپت Bash بنویسید که بهصورت دورهای استفادهٔ CPU را بررسی کند و در صورت عبور از آستانهٔ مشخصشده توسط کاربر، با ارسال ایمیل یا نمایش اعلان، هشدار صادر نماید.
19.0 بازدید آخرین ویرایش در 198 روز قبل ساعت 02:44 0.0
برای حل این مسئله از دستورات خط فرمان مانند top -bn1، mpstat یا خواندن /proc/stat و پردازش خروجی با awk یا grep استفاده کنید تا درصد استفادهٔ CPU را استخراج کنید؛ سپس مقدار را با آستانهای که بهصورت آرگومان ورودی قرار میدهید مقایسه کنید. برای ارسال اعلان میتوانید از mailx/sendmail برای ایمیل یا notify-send برای اعلان دسکتاپ بهره ببرید و برای اجتناب از ارسال مکرر هشدار، یک مکانیزم سادهٔ debounce یا لاگ کردن وضعیت قبلی پیادهسازی کنید. اسکریپت را قابل پیکربندی کنید (فاصلهٔ زمانی نظارت، آستانه و اطلاعات گیرندهٔ ایمیل) و برای اجرا در پسزمینه از cron یا systemd-timer استفاده کنید؛ مطمئن شوید ابزارهای ارسال ایمیل/اعلان روی سیستم نصب و پیکربندی شدهاند.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای دقت بیشتر از خواندن دو نمونهٔ متوالی /proc/stat و محاسبهٔ دلتا بهجای تکیه بر top -bn1 استفاده کنید چون آن خروجی میتواند لحظهای و گمراهکننده باشد؛ mpstat هم برای پردازندههای چند هستهای مفید است. حتماً مکانیزم debounce یا فایل لاگ برای ثبت آخرین هشدار و یک بازهٔ خنککنندگی قابلپیکربندی اضافه کنید تا از ارسال مکرر ایمیل جلوگیری شود. قبل از استفاده، مطمئن شوید ابزار ارسال ایمیل (mailx/msmtp/sendmail) یا notify-send روی سیستم نصب و پیکربندی شده و آدرس گیرنده و سرتیفیکیتها درست تنظیم شدهاند. برای اجرای پایدار در پسزمینه systemd-timer را ترجیح دهید چون قابلیت لاگگیری و مدیریت بهتری نسبت به cron ارائه میدهد.
گزارش