یک اسکریپت Bash بنویسید که هر دقیقه وضعیت CPU، حافظه و استفاده از دیسک را به مدت 10 دقیقه جمعآوری و در یک فایل لاگ با زمانبندی ذخیره کند و در انتها میانگین مصرفهای CPU، حافظه و درصد استفاده دیسک را نمایش دهد.
9.0 بازدید آخرین ویرایش در 202 روز قبل ساعت 03:06 0.0
برای حل این مسئله از ابزارهای خط فرمان استاندارد مثل free، df و top یا /proc/stat استفاده کنید؛ درون یک حلقه for با sleep 60 دادهها را هر دقیقه خوانده و با استفاده از date به عنوان timestamp در فایل لاگ بنویسید. برای محاسبه میانگینها میتوانید مقادیر استخراجشده را با awk جمع کنید و در پایان تقسیم بر تعداد نمونهها را انجام دهید. نکتهها: برای استخراج درصد استفاده از حافظه از free -m و محاسبه نسبت used/total استفاده کنید، برای دیسک از df -h یا df --output=pcent و برای مصرف CPU میتوان از top -bn1 یا اطلاعات /proc/stat بهره برد؛ خروجیها را طوری پارس کنید که اعداد به راحتی با awk جمعپذیر باشند.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
ایدهٔ خوبی است که با حلقهای دهتایی هر دقیقه دادههای CPU، حافظه و دیسک را لاگ کرده و در پایان میانگین آنها را نمایش دهید. برای پایداری، از printf و awk برای جمعکردن و تقسیم استفاده کنید تا خروجی ابزارها به راحتی قابل پارس باشد و به تفاوتهای نسخهها توجه کنید. همچنین میتوانید از /proc/stat یا top برای CPU، free -m برای حافظه و df برای دیسک استفاده کنید تا نسبتها را با awk بخوانید. در نهایت با تنظیم trap و مدیریت خطاها، لاگها را سالم نگه دارید و اگر فرآیند قطع شد، دادههای ناقص را به خوبی گزارش کنید.
گزارش