Ubuntuサーバーで実行されているサービスによって定期的に記録されるファイルがあります。現在記録されているファイルで以前の状態の変更を確認し、変更が発生したときにmysqlデータベーステーブルを更新するタイマーで実行されている他のサービスがあります。タイマーが実行されるのを待たずにファイルが変更された場合は、すぐにわかる一種のサービスを設定したいのですが、systemdを使用してファイル監視を設定する方法を見たことがありません。
答え1
systemdのメカニズムは次のとおりです。パス単位PathChanged
PathModified
、作成者がファイルを作成する方法に応じて、1つ以上の設定で表示したいファイルの名前を指定できます。
ファイル全体を書き込んで毎回閉じると、PathChanged
避けることができるトラップは、修正PathModified
全体にファイルの一部だけを書き込む複数の書き込みが含まれている場合、早期にアクティブになりやすいです。ただし、PathChanged
作成者が書き込み用にファイルを開いたが実際に書き込んでいなくてもトリガーされる可能性があります。
関連付けられたパス単位と同じパス単位名を指定できます。サービスユニットまたは、このUnit
設定を使用してください。もちろん、この関連サービスユニットは、不要なタイマーなしでファイルの内容をデータベースに転送するサービスになります。ファイルに関連する変更が発生したときにサービスユニットがまだアクティブでない場合、パスユニットはサービスユニットをアクティブにします。これは…パスを有効にする。
追加読書
- Lennart Petlinget al。 (2017).
systemd.unit
。システムのマニュアルページ。 freedesktop.org. - Lennart Petlinget al。 (2017).
systemd.path
。システムのマニュアルページ。 freedesktop.org.