他のファイルの名前を変更してファイルを上書きすると、systemdパスはサービスをトリガーしなくなります。

他のファイルの名前を変更してファイルを上書きすると、systemdパスはサービスをトリガーしなくなります。

systemd.pathデバイスが特定のファイルを監視する設定があります。

[Unit]
Description=Watch config file for changes

[Path]
PathChanged=/path/to/my/config.file

[Install]
WantedBy=multi-user.target

.service仕様が同じファイル名拡張子で保存される場所。

  • これまでは、systemd 239-68.0.2一時コピーを作成し、config.fileそれを変更してmv名前を変更するとconfig.fileトリガーされました.service
  • それではsystemd 239-74.0.1もうこれはありません。エディタで明示的に開く必要があります(例:)、nanoサービスはすでにトリガされています。保存または閉じるだけでなく、ファイルを開くときでも。何するcpタスクは、一時ファイルを再コピー()してファイルを上書きすることですconfig.file
  • PathChangedまたは使用するかどうかにかかわらず、動作は同じですPathModified
  • touchファイルを使用してタイムスタンプを更新しても、サービスはトリガーされません。

これらの行動の変化は意図的なものでしたか? 「前」の動作に戻るにはどうすればよいですか?これは通常、スクリプトが複数の変更を実行し、config.fileすべての変更時にサービスがトリガーされることを望まないため、私が好むものです。

()「手動」で一時ファイルをコピーしてcp削除することは確かにオプションですが、複数の場所で変更が必要なので避けたいと思います。

ベストアンサー1

おすすめ記事