ConditionPathExists=
ファイルが存在します(ファイルが存在する場合はサービスが失敗するのではなく)、デバイスが何も見つからなかった場合は、サービスの開始を遅らせたいと思います。文書
システム化は技術的に可能ですか?どのように?
ベストアンサー1
私が知っている限り、ConditionPathExists=
デバイスを「失敗」のままにしません。ConditionPathExists=
このユニットをスキップしてください。
ユニットファイルには複数のCondition… = と Assert… =設定を含めることもできます。デバイスが起動する前に、systemdは指定された条件が真であることを確認します。そうでない場合、デバイスの起動は(ほとんど自動的に)スキップされます。エラー状態のため、デバイスは「失敗」状態に切り替わりません。
ExecStartPre=
ファイルの存在に応じてデバイスの起動を遅らせる方法の1つは、thenRestart=on-failure
およびtest filesを使用することですRestartSec=
。これにより、デバイスは障害状態になりますが、成功するまで再試行します。たとえば、
[Service]
# Should cause failure if file exists
ExecStartPre=/usr/bin/test ! -f afile
ExecStart=mycommand
# Restart on failure. Keep trying to create backup.
RestartSec=10m
Restart=on-failure