Linuxのブート管理を[ターン] --- systemdに使用

一般的にコマンドを使用し
、サービスが自動的に起動するように

httpd.service systemctl有効
1の
サービスが自動的に起動しないように、

httpd.service systemctl無効
1
チェックサービスのステータスを

systemctlステータスhttpd.service(サービス詳細)
systemctlは、IS-アクティブhttpd.service(表示アクティブ場合のみ)
1つの
2
ショーはすべてのサービスを開始しました

一覧-単位--type = systemctlサービス
1
サービス開始

httpd.service systemctl開始
1
サービスを停止

httpd.service systemctl STOP
1
リスタートサービス

再起動httpd.service systemctl
1
コンフィギュレーション・ファイルの再起動を変更した後

設定ファイルを変更したら、設定ファイルを再ロードして、関連するサービスを再起動する必要があります。

#設定ファイルのリロード
$はsudo systemctlデーモンリロードを

#再起動の関連サービス
$ sudoをsystemctl再起動foob​​arに
1つの
2
3
4
5
電源サービス管理

ブートユニット
test.serviceを有効systemctlは、
下/etc/systemd/system/multi-user.target.wants/する/ libに/にsystemd /システム/ソフトリンクから増加
LN -s'は/ usr / libに/にsystemd /システム/ postfix.service「」/etc/systemd/system/multi-user.target.wants/test.serviceの「
1
2
3
一度あなたがそれ以外の変更が有効にならない、システムDは、その後、再起動し、設定ファイルをリロードさせてください、設定ファイルを変更します。
須藤systemctlデーモンリロード(Reload)$
$ sudoをsystemctl再起動httpd.service
1つの
2
ユニット起動しないブート
systemctl無効test.serviceは
ソフトリンクの下/etc/systemd/system/multi-user.target.wantsを削除する
1つの
2
ブート有効にするかどうかをチェックし
systemctlを-有効になっているかどうかtest.service#クエリサービスブート
1
にsystemdは、プログラムの開始からのブートを閲覧
LS /etc/systemd/system/multi-user.target.wants/
1
ビューにsystemdユニット・ロードと活動は
systemctl
1
表示部は、起動に失敗した
systemctlは--failed
1
すべてを表示するにsystemd管理部
systemctl一覧-ファイル手段-前記
1つの
サービス管理を

サービス開始は
httpd.service開始systemctl
1は、
サービスのシャットダウン
systemctl停止httpd.service
1の
サービスを再起動する
systemctl再起動httpd.service
1
リロード
systemctlリロードhttpd.service
1
ステータス表示する
systemctlステータスhttpd.service
起動状態、起動時間、メインコースとの関連を含めをプロセス、関連記事
1
2
systemctl

システム管理のためのsystemctl systemdにメインコマンド。

#システムの再起動
$ sudoをするsystemctlを再起動します

#電源を切り、システムの電源を切り、
$ sudoをsystemctl電源オフ

#CPUは停止します
$ sudoをするsystemctl停止を

#一時停止システム
の$ sudoは中断systemctl

#ハイバネーションにシステムを入れて
$ sudoをするsystemctlの休止

#は、インタラクティブハイバネーションにシステムを入れて
$ sudoのsystemctlハイブリッドスリープ

レスキュー状態(シングルユーザー状態)に#ブートは
須藤のsystemctlレスキューを$
1
2
3
4
5
6
7
8
9
10
11
12である
13である
14
15
16
17
18である
。19
20である
すべての現在のシステムを表示するために、systemctlリスト単位UNITコマンド。

#リスト単位で実行
$のsystemctlリスト-単位

#リストの設定ファイルを含むすべてのユニットは、見つからないか、または起動に失敗していない
$ systemctlリスト単位を--all

すべてのユニットが実行されていない#一覧
--all --state = $ systemctlリスト単位非アクティブに

#リストは、すべてのユニットロードに失敗しました
$ systemctlリスト-単位は--failed

すべての実行中の#リスト、サービスユニットのタイプ
の$ systemctl-一覧= --typeサービスユニット
。1
2
3
4
5
6
7
8
9
10
11
12は
13である
14
場合#表示装置が動作している
の$ systemctlがアクティブでありますapplication.service

状態はでユニットを起動に失敗した場合#ショー
の$ systemctlは、失敗したapplication.service

#は単位サービスが起動するためのリンクを確立するかどうかを表示します
$のsystemctlを、有効になっているapplication.service
1
2
3
4
5
6
7
8
プロファイルブロック

[部]第一のブロックは、典型的には、ブロックのコンフィギュレーションファイル、単位に対して定義されたメタデータ、及び他のユニットとの配置関係です。次のようにその主なフィールドです。
説明:簡単な説明
ドキュメント:ドキュメントの住所が
必要です:現在の単位ユニットを他の依存、彼らが実行されていない場合は、現在のユニットの起動に失敗
たい:現在と他のユニットのユニットを、彼らが実行されていない場合は、現在のユニットに失敗しました起動しません
BindsToました:そして、同様に、あなたが終了した場合、それが実行されている現在のユニットの停止原因となることが単位を指定する必要
単位を指定したフィールドは、開始する必要がありますが、現在のユニットの後に開始しなければならない場合は、次の前を
後:ユニット指定したフィールドが開始する必要がある場合は、あなたがしなければなりません現在のユニットの開始に前に
競合が:ないユニットのユニットは、現在のと同時に実行し、ここで指定した
条件:、ユニットが現在の条件が満たされなければならない実行されているそれ以外の場合は実行されません
アサート:それ以外の場合は報告します、満たされなければならない現在の条件を実行しているユニットは、起動に失敗した
1
2
3
4
5
6
7
8
9
10
!重要

EG:= network.targetのsshd-keygen.service後
の後フィールド:network.targetまたはSSHD-keygen.serviceを開始する必要がある場合は、その後、現在の.serviceは、それらの後に開始すべきであるということ。

したがって、サービスの前に開始する必要が定義されてsshd.service前のフィールドがあります。
フィールドが依存関係を伴わないだけの起動順序が関与した後とする前に、注意してください。
。1
2
。3
。4
。5
[インストール]を起動する方法を定義するために、通常、コンフィギュレーション・ファイルの最後のブロックであり、起動する場合。次のようにその主なフィールドです。
WantedBy:その値が1つまたは複数のターゲット、活性化された現在のユニットである(イネーブル)シンボリックリンクの/ etc /にsystemd /システムディレクトリにターゲット中の+サブディレクトリ名のサフィックス.wantsが設定
RequiredByを:その値でありますサブディレクトリ名のターゲットには/ etc /にsystemd / systemディレクトリに1個以上、現在のユニット起動し、シンボリックリンクをターゲットから成る+ .required接尾
別名:別名を起動するための現在利用可能なユニット
も:活性化現在のユニット(イネーブル)、他方が同時に活性化されるユニット
。1
2
。3
。4
[サービス]サービスのブロックを構成するために、唯一のサービスユニットは、ブロックのこのタイプを持っています。次のようにその主なフィールドです。
タイプ:プロセスの動作の開始を定義します。それは次の値があります。
デフォルト値は、ExecStartは、メインプロセスを開始するコマンドを指定した実行:シンプル=入力
タイプ=フォーク:親プロセスから子プロセスをforkする方法を作成し、親プロセスはすぐに終了した後に作成
タイプ=ワンショット:ワンタイムプロセス、システムDは、現在のサービス終了を待ち、その後、ダウン続ける
タイプ= dbusのを:バス-Dによって開始された現在のサービス
通知タイプ=:現在のサービスの起動が完了すると、それはシステムDに通知し、その後、ダウン続ける
タイプ=アイドル:他のタスクが終了した場合、現在のサービスを実行する
ExecStartを:コマンド現在のサービスの開始
ExecStartPreを:コマンドは、現在のサービスの開始前に実行
ExecStartPost:コマンドは、現在サービスした後に実行され始め
たときに、現在のサービスを実行するために再起動コマンド:ExecReload
ExecStop :現在のサービスを停止したときにコマンドを実行する
ExecStopPostを:そのサービスが実行停止コマンドの後に
現在のサービス間隔の自動再起動秒:RestartSec
再起動を:systemdには、自動的に現在のサービスを再起動しますどのような状況定義し、可能な値は、常に再起動(常にあります)、成功オンON故障、異常ON、ON-ABORTオンドッグ
TimeoutSec:サービス前に、現在の待機の定義されたシステムD秒停止
環境:指定された環境変数
。1
2
3
4
5
6
7
8
9
10
11
12であります
13
14
15
16
17
フルフィールドリスト単位の設定ファイルは、公式ドキュメントを参照してください。

ログ管理

すべてのユニットの起動ログのsystemdに一元管理。利点は、あなただけ、コマンドをjournalctl使用するすべてのログ(カーネルのログやアプリケーションログ)を見ることができるということです。設定ファイルが/etc/systemd/journald.confでログインします。

journalctl強力で、使い方は非常に多くの。

#は、(デフォルトでは、この雑誌の唯一の開始を保存)すべてのログを見る
$ sudoをjournalctl

(アプリケーションログを表示しない)#カーネルログを表示します
$ sudoを-k journalctl

ビューの開始システムログ#
$ sudoをjournalctl -b
$ sudoをjournalctl -b -0

#は、一度起動ログを表示します(設定を変更する必要がある)
$ sudoをjournalctl -b -1

#查看指定时间的日志
$ sudoをjournalctl --since = "2012年10月30日18時17分16秒"
$ sudoをjournalctl --since "20分前"
$ sudoをjournalctl --since昨日
$ sudoをjournalctl --since」 "2015年1月11日午前3時--until" 2015年1月10"日
1時間前--until $ sudoをjournalctl --since 9時00分""

#は、最新の10行のログの末尾を表示
$ sudoをjournalctl -nを

#は、指定した行のログの尾数を表示
$ sudoをjournalctl -n 20を

#リアルタイムスクロール表示最新のログ
$ sudoをjournalctl -f

#指定したサービスログビュー
$ sudoをjournalctlは/ usr / libに/にsystemd / systemdにします

#ログのプロセスを表示します
$ sudoをjournalctl _PID = 1

#スクリプトログのパス見る
$はsudo journalctlは/ usr / binに/ bashのを

#指定したユーザーのログを見る
$ sudoをjournalctl _UID = 33 --since今日

ユニット#はのログを表示
$ sudoを-u journalctl nginx.service
$ sudoを-u nginx.service --since今日journalctlを

#リアルタイムの単位表示最新ログをスクロール
$ sudoをjournalctl -u -f nginx.service

#の複数のログ表示単位マージ
$ journalctl -u nginx.service -uのphp-fpm.service --since今日

#表示優先順位(上のレベルと)は、8つの合計ログ
#0:EMERG
。#1:アラート
2:クリティカル
3:。ERRの
#4:警告
。#5:注意
#6:情報
#7:デバッグ
$ sudoのjournalctl -p ERR -b

#デフォルトのページングログ出力、 -の代わりに、標準正規出力の無ページャ
$ sudoをjournalctl --no-ページャ

#のJSON形式(シングル)出力
$ sudoをjournalctl -b -u nginx.service -o JSON

#のJSON形式(マルチライン)出力、より読みやすく
$ sudoを-u nginx.serviceqq journalctl -b
-o JSON-プリティ

#によって占めログディスクの空き容量表示
$ sudoをjournalctl --disk-使用を

#ログファイルによって占有された最大容量を指定します
$ sudoをjournalctl --vacuumサイズ= 1Gを

#指定したログファイルが保存されているどのくらいの
$ sudoをjournalctl --vacuum-時間= 1years

 

参照:

https://blog.csdn.net/qq562029186/article/details/67639676、Linuxのブート管理--- systemdに使用

 

おすすめ

転載: www.cnblogs.com/piperck/p/10951290.html