آشنایی با فایلهای log در لینوکس
شاید بتوان گفت یکی از مواردی که لینوکس را به یک سیستم عامل قدرتمند تبدیل کرده است، ذخیرهی تقریبا تمام رویدادها و اتفاقات رخ داده به صورت منظم بر روی سیستم میباشد. تمام این گزارشات در قالب فایلهایی در سیستم لینوکس ذخیره شده و منبعی بسیار مناسب برای رفع مشکلات سیستم عامل و برنامههای مختلف است.
میتوان گفت تقریبا تمام این log ها در مسیر /var/log وجود دارند. در این مسیر، زیر مسیر(sub-directory)های دیگری نیز قرار دارد که از نام هر کدام از آنها میتوان پی برد که مربوط به چه سرویس و یا ابزارهای دیگری است. به منظور خواندن هریک از این log ها نیاز به دسترسی کاربر ریشه(root) میباشد، که در صورت وارد شدن به عنوان یک کاربر معمولی میتوان با وارد نمودن دستور sudo در ابتدای دستوراتی مانند cat، tail، less، more محتویات آنها را مشاهده نمود. در اینجا ما فرض میکنیم که به عنوان کاربر root وارد سیستم شدهایم (در این صورت نیازی به وارد کردن sudo نمیباشد) و سپس به مسیر فوق رفته و لیست فایلهای موجود را در آن مشاهده مینماییم:
# cd /var/log # ls
خروجی:
* ممکن است فایلهای شما در این مسیر با خروجی بالا تفاوت داشته باشد.
همانطور که مشاهده میکنید فایلهای زیادی در این مسیر برای ثبت گزارشات مختلف وجود دارد که در ادامه به بررسی متداول ترین و اساسی ترین آنها میپردازیم.
یکی از مرسوم ترین فایلهای log سیستم، فایل /var/log/messages میباشد. برای مشاهدهی آن از دستور زیر استفاده میکنیم:
# less /var/log/messages
نمونه خروجی این فایل به صورت میباشد:
Jul 17 22:04:25 router dnsprobe[276]: dns query failed Jul 17 22:04:29 router last message repeated 2 times Jul 17 22:04:29 router dnsprobe[276]: Primary DNS server Is Down... Switching To Secondary DNS server Jul 17 22:05:08 router dnsprobe[276]: Switching Back To Primary DNS server Jul 17 22:26:11 debian -- MARK -- Jul 17 22:46:11 debian -- MARK -- Jul 17 22:47:36 router -- MARK -- Jul 17 22:47:36 router dnsprobe[276]: dns query failed Jul 17 22:47:38 debian kernel: rtc: lost some interrupts at 1024Hz.
در زیر نام برخی از فایلهای log موجود درمسیر /var/log و کاربرد هر کدام به صورت مختصر آمده است:
- messages : شامل پیامهای عمومی و مسائل رایج عادی مربوط به سیستم
- auth یا secure : شامل پیامهای مربوط به احراز هویت و ورود کاربران
- kern.log : شامل پیام ها و گزارشات مرتبط با هستهی سیستم عامل
- cron.log : شامل گزارشات سرویس crond و وظایف زمانبندی شده بر روی سیستم
- maillog : شامل گزارشات مربوط به سرویس دهندهی Mail
- مسیر httpd/ : شامل فایلهای گزارش مربوط به سرویس دهندهی وب Apache فایلهایی شامل خطاهای مربوط به این سرویس
- boot.log : شامل پیامها و گزارشات مرتبط با هنگام بوت شدن سیستم
- mysqld.log : شامل گزارشات مرتبط با سرویس دهندهی MySQL DataBase
ما میتوانیم با استفاده از دستور logger یک پیام را به صورت دستی در فایل log سیستم ذخیره نماییم:
logger "Zero to Hero"
اما این فایلهای log چگونه ایجاد شده و چگونه پیامها درون آنها ذخیره میشوند؟ تمام این گزارشات توسط سرویس rsyslogd در سیستم تولید میشوند. این ابزار قادر به ذخیرهی گزارشات محلی(local) در سیستم و همچنین گزارشات مرتبط با ارتباطات راه دور(remote) است (برای ذخیرهی گزارشات local از سوکتهای unix و برای ذخیرهی گزارشات remote از سوکتهای internet استفاده مینماید).
به طور خلاصه، مسیر /var/log در سیستم، مکانی است که میتوان گزارش رویدادها و پیامهای سیستم را در قالب فایلهایی مشاهده نمود و از آنها به منظور رفع مشکلات مرتبط با سرویسهای مختلف کمک گرفت.
مطالب زیر را حتما مطالعه کنید
آشنایی با مفهوم Load Balancing
۱۰ دستور مهم و کاربردی در لینوکس
توزیعهای مختلف لینوکس بر روی ویندوز ۱۰
نحوهی اجرای دستورات لینوکس در برنامههای پایتون
۶ دستور خطرناکی که نباید در لینوکس از آن استفاده کرد
آشنایی با مفاهیم پایهای شبکه در لینوکس
2 Comments
Join the discussion and tell us your opinion.
دیدگاهتان را بنویسید لغو پاسخ
برای نوشتن دیدگاه باید وارد بشوید.
ممنون علی جان. تشکر 😉😌
بسیار عالی و مفید 😊