ファイルをコピーするようにディレクトリリスナーを設定する方法

ファイルをコピーするようにディレクトリリスナーを設定する方法

ディレクトリに座って新しいディレクトリまたはファイルを追加したら、各ファイルを別の場所に再帰的にコピーするBashスクリプトを作成したいと思います。たとえば、

  • 私のホームディレクトリに座って聞くようにスクリプトを設定できます。/home/

  • test次に、次を含む新しいディレクトリを追加すると、test.txt

  • スクリプトは、たとえば次の場所にコピーされますtest/test.txt/home/user/Desktop/test

インストールできませんinotifywait。可能ですか?ありがとう

答え1

あなたができることは、以下の機能を使用して毎時間実行されるcronjobを持つことです。もちろん、他の時間を使用することもできます。

find /home/user/ --mmin -60 -exec echo This file changed: {} \;

これにより、上記の60分のように、指定された時間内に変更されたすべてのファイルが出力されます。

ここに私が思いついた例があります。変更されたディレクトリのみがコピーされるため、ルートの最上位ディレクトリのみがコピーされるため、効率的ではありません。

find /home/name/* -maxdepth 0 -mmin -60 -exec cp -r {} /some/other/dir/ \;

関連情報