Filtering Messages by time and unit in journald

  • با استفاده از سویچ –since و –until می‌توان بازه زمانی مشخصی برای چاپ لاگ‌ها و رویدادها مشخص نمود.
  • به عنوان مثال می‌توان تعیین نمود که تنها لاگ‌ها و رویدادهای مربوط به 2015-01-10 17:15:00 تا 2015-01-10 17:25:00 نمایش داده شود. برای این منظور :
# journalctl --since "2015-01-10 17:15:00" --until "2015-01-10 17:25:00"
  • ساختار و قالب کلی درج ساعت و زمان به صورت زیر است :
YYYY-MM-DD HH:MM:SS
  • به عنوان مثال دستور زیر باعث می‌شود تا تنها لاگ‌های مربوط به 2015-01-10 17:15:00 تا زمان حال نمایش داده شود :
# journalctl --since "2015-01-10 17:15:00"
  • نکته: نیازی به استفاده‌ی هم‌زمان از هر دو سویچ –since و –until نیست.
  • به عنوان مثال دستور زیر باعث می‌شود تا تمام لاگ‌ها از ابتدا تا تاریخ 2015-01-11 و زمان 03:00 نمایش داده شود.
# journalctl --until "2015-01-11 03:00"
  • همچنین می‌توان از عبارت yesterday، today، tomorrow و now استفاده نمود.
  • به عنوان مثال دستور زیر باعث می‌شود تا تمام لاگ‌ها از دیروز تا زمان حال نمایش داده شود.
# journalctl --since yesterday
  • به عنوان مثال دستور زیر باعث می‌شود تا تمام لاگ‌ها از ساعت 9 صبح تا یک ساعت قبل (نسبت به زمان حال) نمایش داده شود.
# journalctl --since 09:00 --until "1 hour ago"
  • برای اشاره به لاگ‌ها و رویدادهای مربوط به یک سرویس خاص از سویچ -u استفاده می‌شود. به عنوان مثال برای مشاهده‌ی لاگ‌ها و رویدادهای مربوط به سرویس nginx.service به صورت زیر عمل کنید :
# journalctl -u nginx.service
  • نکته: ترکیب سویچ‌ها و استفاده از چندین قابلیت به صورت هم‌زمان امکان پذیر است.
  • به عنوان مثال دستور زیر باعث می‌شود تنها لاگ‌ها و رویدادهای مربوط به سرویس ssh.service از دیروز تا زمان حال، نمایش داده شود.
# journalctl -u ssh.service --since yesterday
  • به صورت هم‌زمان می‌توان به دو یا چند سرویس مختلف اشاره کرد. به عنوان مثال دستور زیر باعث می‌شود لاگ‌ها و رویدادهای سرویس ssh.service و apache2.service نمایش داده شود.
# journalctl -u nginx.service -u apache2.service
  • به منظور مشاهده لاگ‌ها و رویدادها بر اساس شماره‌ی PID یک سرویس از _PID استفاده می‌شود.
  • به عنوان مثال دستور زیر باعث می‌شود لاگ‌ها و رویدادهای یک فرآیند با شماره‌ی فرآیند 641 نمایش داده شود.
# journalctl  _PID=641
  • به منظور مشاهده‌ی PID یک سرویس می‌توان از پارامتر status برای دستور systemctl استفاده کرد. به عنوان مثال :
root@debian10:~# systemctl status ssh.service
● ssh.service - OpenBSD Secure Shell server
   Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
   Active: active (running) since Sat 2020-04-11 21:00:47 EDT; 2h 36min ago
     Docs: man:sshd(8)
           man:sshd_config(5)
 Main PID: 641 (sshd)
  • تمام لاگ‌ها و رویدادهای ثبت شده در journalctl در یک دسته بندی مشخصی قرار می‌گیرد. به عنوان مثال به گروهی یا خطوطی از لاگ‌ها اصطلاحا error، به گروهی info و به گروهی warning می‌گویند.
  • فهرست کامل این دسته بندی به شرح زیر است :
emerg
alert
crit
err
warning
notice
info
debug
  • نکته: هر یک موارد بالا زیر مجموعه‌ی گروه و دسته بندی بعد از خود هستند. به عنوان مثال لاگ‌هایی از جنس notifce در زمره‌ی لاگ‌هایی از جنس info و debug نیز قرار می‌گیرند.
  • به منظور اشاره به گروهی خاص از سویچ -p استفاده می‌شود. به عنوان مثال دستور زیر باعث می‌شود تا تنها لاگ‌هایی از جنس err و ما قبل آن (یعنی crit و alert و emerg) چاپ و نمایش داده شود.
# journalctl -p err -b

  • تست شده بر روی systemd 241

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *