リモートホストでファイルが同期されたことを検出します。

リモートホストでファイルが同期されたことを検出します。

開発中にラップトップに書いたコードをリモートホストのテスト環境と同期させるために使用するツールがあります。これにより、git-commit/push/pull/buildなどを必要とせずに変更をすばやくテストできます。 fswatchとrsyncを使用して実装されているため、ローカルで行った変更をリモート環境に自動的にストリーミングします。しかし、時々このツールを開くのを忘れて、私のコードがうまくいかない理由を特定するのに必要な時間よりも多くの時間を無駄にしたため、問題が発生しました。

  1. 私のリモートホストにこの状況を検出するためのプログラムはありますか?どのファイルは最近(たとえば、最後の瞬間に)再同期されましたか?
  2. さらに言葉になりますか?私のものこのツールはrsync用のツールですか?私が持っているリモコンが他のコンソールと同期する可能性はほとんどありませんが、強いほど良いです。 :)

私の究極の目標は、ファイル同期が動作している間にプロンプ​​トの色を変更するなど、無害なタスクを実行する小さなデーモンをリモートホストに作成することです。

ベストアンサー1

1つの解決策は、ツールがデータ同期を完了した後に現在の日時をリモートシステム上のファイルに反映させることです。その後、リモートコンピュータで実行する必要があるのは、ファイルを確認して最後にデータが同期された時刻を確認することです。

Linuxを使用している場合は、カーネルに組み込まれているinotify APIを使用してファイルシステムの変更を検出できます。 inotifyを使用すると、どのファイルが記録されたかを検出し、発生するすべてのイベントに応じてアクションを実行できます。 (開く、閉じる、読み取り、書き込み、削除、移動など)

おすすめ記事