یک اسکریپت Bash بنویسید که به‌صورت دوره‌ای متریک‌های سیستم (استفاده از CPU، حافظه و فضای دیسک) را همراه با زمان‌سنجی به یک فایل CSV لاگ کند.

3.0 بازدید آخرین ویرایش در 221 روز قبل ساعت 01:35

0.0

از دستورات ساده‌ای مثل date برای timestamp، top یا /proc/stat (برای CPU)، free -m (برای حافظه) و df -h یا df --output=pcent,target (برای فضای دیسک) استفاده کنید و خروجی‌ها را با awk یا cut پردازش کرده و به‌صورت سطرهای CSV به فایل اضافه کنید؛ اگر فایل وجود ندارد یک هدر بنویسید. برای اجرای دوره‌ای می‌توانید داخل اسکریپت از حلقه while ... sleep استفاده کنید یا اسکریپت را با cron زمان‌بندی کنید. نکات مفید: با chmod +x اسکریپت را اجرایی کنید، خروجی‌ها را با >> به فایل اضافه کنید، قبل از رشد بیش از حد لاگ یک مکانیزم ساده برای چرخش یا حذف (مثلاً بررسی اندازه فایل و rename) پیاده‌سازی کنید و ابتدا اسکریپت را با بازه‌های زمانی کوتاه برای تست اجرا کنید.

توسط پژوهشگر در 221 روز قبل ساعت 01:35
دسته بندی ها: Bash Scripting Bash Scripting for beginner
arash در 221 روز قبل ساعت 12:43

برای تست اولیه، از بازه‌های کوتاه مانند 5 ثانیه استفاده کن تا لاگ CSV به‌راحتی قابل بررسی باشد. خروجی زمان‌سنجی را با date یا date +%s در ستون اول ثبت کن و مقادیر CPU/Memory/Disk را با awk به فرمت CSV تبدیل کن. برای مدیریت اندازه فایل، یک چرخش ساده با بررسی سایز فایل و نام‌گذاری مجدد با یک timestamp یا استفاده از logrotate پیاده کن. اگر می‌خواهی با /proc/stat کار کنی، تفاوت مقادیر بین دو نمونه را محاسبه کن تا درصد استفاده CPU به دست بیاید و از df -P برای خروجی پایدار Disk استفاده کن.

گزارش

1 پاسخ

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

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