systemctl status service-name
でサービスのステータスを確認します。
デフォルトでは、いくつかの行しか表示されないので、-n50
を追加してさらに表示します。
時々、最初から完全なログを見たいことがあります。数千行になる可能性があります。
今、私はそれを-n10000
でチェックしますが、それはきちんとした解決策のようには見えません。
less
コマンドのような完全なsystemdサービスログをチェックするオプションはありますか?
次のように、journalctl
コマンドを使用するだけです。
journalctl -u service-name.service
または、現在のブートのログメッセージのみを表示するには:
journalctl -u service-name.service -b
<something>.service
という名前の場合、実際には<something>
を次のように使用できます。
journalctl -u service-name
ただし、他の種類のユニット(ソケット、ターゲット、タイマーなど)の場合は、明示する必要があります。
上記のコマンドでは、-u
フラグは--unit
の略であり、関心のあるユニットの名前を指定します。 -b
は--boot
の短縮形であり、出力を現在のブートのみに制限して、古いメッセージがたくさん表示されないようにします。詳細は journalctlのマニュアルページ を参照してください。
systemctl
には、-l
国旗:
systemctl -l status service-name
-l
:省略記号(...)でエントリを切り捨てません
--no-pager
を追加すると、出力がインタラクティブな端末である場合にページャーが呼び出されなくなります。
journalctlを使用してシステムのログを表示します
PagingPermalinkなしでビューjournalctlログを標準出力に送信し、ページングを回避するには、-no-pagerオプションを使用します。
journalctl --no-pager
表示されるログの数を最初にフィルタリングしないでこれを行うことはお勧めしません。
journalctl -u service-name.service
時間範囲内のログを表示するPermalink --since
オプションを使用して、指定した日時以降のログを表示します。
journalctl --since "2018-08-30 14:10:10"
--untilオプションを使用して、指定した日時までのログを表示します。
journalctl --until "2018-09-02 12:05:50"
これらを組み合わせて、2つの時間の間のログを表示します。
journalctl --since "2018-08-30 14:10:10" --until "2018-09-02 12:05:50"
journalctl
を使用
ログをテキストファイルに書き込む
ボトムアップで読んで
journalctl -u service-name.service > file_name.txt
tail file_name.txt