لسنوات عديدة تم التعامل مع نظام وسجلات 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.














