目的
systemdのログ確認方法を調査する
(Raspberry Pi 3 のshutdown時に自動で外付けHDDを停止させる で追加したServiceのログを確認したい)
環境
- Raspberry Pi 3 ModelB
- OS:Raspbian GNU/Linux 9.4 (stretch)
- 外付けHDD:EC-PHU3W1(IO-DATA)
作業メモ
systemdについて少し調査
参考サイト
http://enakai00.hatenablog.com/entry/20130914/1379146157
http://enakai00.hatenablog.com/entry/20141130/1417310904
- Unit
用途に応じた処理の塊
Raspberry Pi 3 のshutdown時に自動で外付けHDDを停止させる だと"shutdown/reboot/halt時にHDDの電源をOFFする"という用途1
$ systemctl list-units --type=service
UNIT LOAD ACTIVE SUB DESCRIPTION
alsa-restore.service loaded active exited Save/Restore Sound Card State
avahi-daemon.service loaded active running Avahi mDNS/DNS-SD Stack
bluealsa.service loaded active running BluezALSA proxy
(略)
- target
複数のUnitをグルーピングする
systemdの起点はdefault.target
今回の環境だと、/lib/systemd/system/default.target
- ログ出力
journaldというServiceでログ管理しているらしい
ログ(journald)の内容確認
参考サイト
http://enakai00.hatenablog.com/entry/20141130/1417310904
本題に戻ってログの内容確認を行う
- ログ保存用のフォルダを作成
$ sudo mkdir /var/log/journal
このフォルダを作成しないと再起動ごとにログが消えてしまい、前回shutdown時のログを確認できない
- ログを確認
$ journalctl
上記で確認できるが大量にログが出るので、grep
などで必要なものだけに絞る
$ journalctl | grep hdd
(略)
6月 24 23:24:15 raspberrypi hdd_off.sh[1188]: HDD is nothing
すると、意図したログ(HDD未接続時のログ)が出力されていることが確認できた
まとめ
目標達成!
systemdのログ確認方法を調査する
(Raspberry Pi 3 のshutdown時に自動で外付けHDDを停止させる で追加したServiceのログを確認したい)
これでService作成からログによる動作確認までできるようになった
-
他と比べるとレベルが細かすぎるので本来はUnitのレベルで定義すべきでないものに思えるが・・
現在動作しているunitは以下で確認可能 ↩