2014年7月9日水曜日

Systemdコマンド早見表(CentOS 7対応)

CentOS 7ではsystemdが導入されているので、サービスの管理が従来と大きく変わっています。詳しい解説はsystemd徹底入門のスライドを参照するとして、ここでは「前のコマンドはsystemdでどう入力するの?」というのだけ、簡単にまとめてみました。

サービス名にはsshdを指定していますが、もちろん任意のサービスが指定できます。

サービスの起動、終了など

操作SysV InitSystemd
起動/etc/init.d/sshd startsystemctl start sshd
終了/etc/init.d/sshd stopsystemctl stop sshd
強制終了PID探してkill -9systemctl kill -s 9 sshd
再起動/etc/init.d/sshd restartsystemctl restart sshd
設定反映/etc/init.d/sshd reloadsystemctl reload sshd
状態取得/etc/init.d/sshd statussystemctl status sshd
自動起動を有効chkconfig sshd onsystemctl enable sshd
自動起動を無効chkconfig sshd offsystemctl disable sshd
自動起動の状態確認chkconfig --list sshdsystemctl is-enabled sshd(status でも表示される)
サービス一覧の表示ls /etc/init.dsystemctl --type service

追記: SysV Init では service(8) コマンドを利用してサービスの再起動をすることが推奨されていますが、わかりやすさのため /etc/init.d のファイルを直接指定する書き方をしました。

ログのありか

SysV Initを使う場合は、/var/logの下をなんとなく探す、/var/log/messagesをgrepしてみるという使い方が多いと思います。Systemdには専用のjournalctlコマンドが用意されています。

特定のサービスのログを確認
journalctl -u sshd
tail -f
journalctl -f -u sshd
dmesgの代わり
journalctl -k または journalctl --dmesg
ログをJSONで取得
journalctl に -o JSON オプションをつける

その他管理機能

普段は使わないけど、知っておくと緊急時に役に立つかも機能。

シングルユーザーモードに入る
systemctl rescue
マルチユーザーモードに戻る
systemctl default

これで基本的な使い方はばっちり!

5 件のコメント: