یک اسکریپت 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 جمع‌پذیر باشند.

توسط پژوهشگر در 202 روز قبل ساعت 03:06
دسته بندی ها: Bash Scripting Bash Scripting for beginner
arman در 202 روز قبل ساعت 07:31

ایدهٔ خوبی است که با حلقه‌ای ده‌تایی هر دقیقه داده‌های CPU، حافظه و دیسک را لاگ کرده و در پایان میانگین آن‌ها را نمایش دهید. برای پایداری، از printf و awk برای جمع‌کردن و تقسیم استفاده کنید تا خروجی ابزارها به راحتی قابل پارس باشد و به تفاوت‌های نسخه‌ها توجه کنید. همچنین می‌توانید از /proc/stat یا top برای CPU، free -m برای حافظه و df برای دیسک استفاده کنید تا نسبت‌ها را با awk بخوانید. در نهایت با تنظیم trap و مدیریت خطاها، لاگ‌ها را سالم نگه دارید و اگر فرآیند قطع شد، داده‌های ناقص را به خوبی گزارش کنید.

گزارش

1 پاسخ

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

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