لسنوات عديدة تم التعامل مع نظام وسجلات kernel بواسطة أداة مساعدة تسمى syslogd. لقد انتقلت معظم أنظمة التشغيل المستندة إلى Linux إلى systemd ، والذي يأتي مع دفتر سجل مختلف ، journald. للتفاعل مع هذه السجلات ، يمكنك استخدام الأداة المساعدة journalctl.
روابط سريعة
منح إذن المستخدم لقراءة سجلات النظام
يمكن فقط للمستخدمين الذين ينتمون إلى مجموعات “adm” أو “systemd-journal” قراءة سجلات systemd. تضيفك توزيعات مثل Ubuntu بالفعل كمستخدم إلى مجموعة adm.
افتح محاكي Terminal واكتب الأمر التالي:
groups
إذا رأيت “adm
” أو “systemd-journal
” في الإخراج ، يمكنك تخطي باقي الخطوات في هذا القسم. وإلا ، أضف نفسك إلى مجموعة “adm
“.
sudo adduser $USER adm
سيتعين عليك إعادة بدء جلسة تسجيل الدخول الخاصة بك حتى يسري مفعول هذا التغيير (تسجيل الخروج وتسجيل الدخول). إذا لم تتمكن من القيام بذلك لأسباب مختلفة ، فاستخدم هذا الأمر لتسجيل الدخول إلى المجموعة الجديدة دون إعادة تشغيل الجلسة الرسومية.
newgrp adm
لا تغلق النافذة النهائية. أنت الآن جزء من مجموعة adm – في نافذة العمل Terminal ، ولكن ليس في جلسة العمل الرسومية. إذا فتحت محطة Terminal جديدة في هذا الوقت ، فلن يتم تسجيل دخول مستخدمك إلى المجموعة المعرفية بعد الآن.
تحقق إذا كان Journal مستمرة
يمكن أن تكون سجلات systemd ثابتة أو متقلبة. على Ubuntu والتوزيعات الأخرى ، فهي مستمرة بشكل افتراضي. في دبيان 9 ، فهي متقلبة ، بمعنى أنها تبقى في الذاكرة فقط (وليس القرص) وتختفي عند إيقاف التشغيل أو إعادة التشغيل. أدخل الأمر التالي.
journalctl --list-boots
إذا كان هناك العديد من الإدخالات هنا ، فلا يوجد شيء آخر عليك القيام به. هذا يعني أن الدوريات يتم الاحتفاظ بها على القرص (دائم). إذا كنت تحصل على إدخال واحد فقط ، فستكون المجلة متقلبة. عليك تغييرها إلى مستمرة.
sudo sed -i '/Storage/ c\Storage=persistent' /etc/systemd/journald.conf
حدد “أي سجل إدخال تمهيد” لعرضه
عادة ، سترغب في رؤية سجل التمهيد الحالي. في حالات نادرة ، سترغب في مشاهدة السجل السابق ، عندما حدث خطأ ما ، على سبيل المثال ، بعد تعطل النظام.
لعرض السجل الخاص بالتمهيد الحالي:
journalctl -b 0
بالنسبة إلى التمهيد السابق ، استخدم “-1” بدلاً من “0” ، ولحملتين قبل ، “-2” وهكذا.
journalctl -b -1
التنقل والبحث من خلال سجل النظام
بعد فتح السجل باستخدام journalctl ، يمكنك التنقل خلال النص باستخدام مفاتيح الأسهم ومفاتيح PAGE UP
أو PAGE DOWN
. مفاتيح أخرى مفيدة هي:
>
للذهاب إلى نهاية الإخراج.
<
للذهاب إلى بداية الإخراج.
/
للبحث عن سلسلة من النص. بعد الضغط على مفتاح الخط المائل ، أدخل السلسلة التي تريد البحث عنها ، متبوعة بـ Enter. السلسلة حساسة لحالة الأحرف ، لذلك لن تعثر “الشبكة” على سلاسل “الشبكة”. يبدأ البحث من موضع العرض الحالي ، لأسفل. للبحث عن أعلى ، استخدم؟
n
للعثور على المطابقة التالية في البحث الحالي. N يجد السابق.
q
إنهاء الأداة المساعدة journalctl.
تصفية سجل الادخالات حسب الأولوية
في بعض الأحيان ، لا تريد سوى البحث عن الأخطاء وتجاهل الإشعارات ورسائل الحالة. يحتوي كل إدخال في سجل على أولوية: الطوارئ ، والتنبيه ، والحرج ، والخطأ ، والتحذير ، والإشعار ، والمعلومات. يتم سرد هذه في ترتيب الأهمية ، يتم حجز الطوارئ في سيناريوهات الحالة الأسوأ (النظام غير قابل للاستخدام). رسائل المعلومات هي مجرد نص إعلامي ، ووضع التقارير من البرامج التي تعمل بشكل طبيعي.
لعرض رسائل الخطأ فقط من التمهيد الحالي ، أدخل:
journalctl -b 0 -p err
إذا كنت ترغب في رؤية أخطاء من جميع التمهيد، فما عليك سوى إزالة المعلمة “-b
“:
journalctl -p err
هذه هي الرموز التي يمكنك تمريرها إلى المعلمة “-p
“:
- alert
- crit
- debug
- emerg
- err
- info
- notice
- warning
تصفية سجل الإدخالات حسب المسار إلى ملف العملية القابلة للتنفيذ أو وحدة Systemd
يتم تشغيل بعض العمليات وإدارتها من خلال ما يسمى بوحدات systemd
. لرؤية كل السجلات المتعلقة بوحدة خدمة cron
، أدخل:
journalctl -u cron.service
يمكنك معرفة الوحدات المتوفرة لديك:
systemctl list-dependencies
يمكنك التنقل في القائمة باستخدام مفاتيح الأسهم لأعلى ولأسفل. اضغط q
للخروج.
إذا كنت تفضل استخدام المسار إلى الملف القابل للتنفيذ في البرنامج (ثنائي) ، فما عليك سوى تمرير مساره الكامل كوسيطة.
journalctl /usr/sbin/cron
لا تنسَ ، يمكنك أيضًا التصفية من خلال إدخال التمهيد الحالي للتخلص من الرسائل غير الضرورية.
journalctl -b 0 /usr/sbin/cron
الخلاصة
يهدف Journalctl إلى تسهيل العثور على ما تبحث عنه. إذا كنت تريد معرفة المزيد عن المعلمات المتقدمة التي يمكنك استخدامها ، فراجع صفحة دليل الأمر journalctl.