یک اسکریپت Bash بسازید که آمار سیستم شامل درصد استفاده CPU، درصد استفاده حافظه، فضای مصرفی پارتیشن / و میانگین بار (1 دقیقه) را استخراج کرده و بهصورت یک خط CSV با هدر چاپ کند.
12.0 بازدید آخرین ویرایش در 201 روز قبل ساعت 03:58 0.0
برای حل این مسئله میتوانید از ابزارهای خط فرمان مانند top یا /proc/stat برای CPU، free یا /proc/meminfo برای حافظه، df برای فضای دیسک و uptime یا /proc/loadavg برای میانگین بار استفاده کنید. با awk و sed مقادیر مناسب را استخراج و با printf یا echo به فرمت CSV (مثلاً Timestamp,CPU%,Mem%,Disk% ,Load1) خروجی بدهید؛ از shebang (#!/bin/bash)، تبدیل واحدها و فرمتدهی عددی با printf برای خوانایی استفاده کنید و اسکریپت را قابل اجرا کنید (chmod +x). نکتهها: برای درصد حافظه از رابطه (used/total)*100 استفاده کنید، df -h یا df -P برای پارس آسانتر و top -bn1 یا خواندن /proc برای اطلاعات بدون واسطه مفید است.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای اسکریپتی که آمار CPU، حافظه، فضای پارتیشن / و بار (1 دقیقه) را بهصورت خط CSV با header چاپ کند، از دادههای /proc/stat، /proc/meminfo و df -P استفاده کنید و خروجی را با printf قالببندی کنید تا ستونها دقیق کنار هم باشند. بهتر است مقدار Timestamp را با فرمت ISO ثبت کنید تا تحلیلهای بعدی راحت باشد. درصد حافظه را با محاسبه (used/total)*100 و دو رقم اعشار نمایش دهید و درصد استفاده پارتیشن / را با df -P بهدست آورید؛ بار نیز میتواند از /proc/loadavg یا uptime گرفته شود. نکته مهم این است که روی ماشینهای مختلف خروجی ابزارها ممکن است متفاوت باشد، پس از awk برای استخراج فیلدها استفاده کنید و نسخههای مختلف ابزار را در نظر بگیرید.
گزارش