rsync --deleteは、ソースディレクトリを維持し、ファイルをターゲットディレクトリと同期させるための正しい構文を完全に理解します。

rsync --deleteは、ソースディレクトリを維持し、ファイルをターゲットディレクトリと同期させるための正しい構文を完全に理解します。

私は次のコマンドを実行しています:

rsync -av --dry-run /home/acnt/public_html/_private/database/static/categories/temp/ --delete-after /home/acnt/public_html/_private/database/static/categories/

多くのテストでは、一時ディレクトリを保持せずに、すべてのファイルとディレクトリツリー全体とカテゴリツリーの下にある他のすべてのディレクトリを削除します。

/home/acnt/public_html/_private/database/static/categories/
/home/acnt/public_html/_private/database/static/categories/temp
/home/acnt/public_html/_private/database/static/categories/dir1
/home/acnt/public_html/_private/database/static/categories/dir1/temp
/home/acnt/public_html/_private/database/static/categories/dir2
/home/acnt/public_html/_private/database/static/categories/dir2/temp

このディレクトリをカテゴリの下に保持したいのですが、構文が正しくありません。

私が望むのは、一時ディレクトリの内容が/home/acnt/public_html/_private/database/static/categories/temp/見つからないファイルと/home/acnt/public_html/_private/database/static/categories/同期して削除する方法です。/home/acnt/public_html/_private/database/static/categories//home/acnt/public_html/_private/database/static/categories/temp/

このようにrsyncを使用できるのか、ここでツリー構造が問題なのか疑問に思います。

ベストアンサー1

問題はターゲットディレクトリです含むソースディレクトリ。ソースディレクトリは、ターゲットディレクトリ階層の一部であるため(そして明らかに含まれていないため)修正(削除)されています。それ自体)。

この問題を解決するには、(ソースディレクトリ)を(ターゲットディレクトリ)以外の.../categories/temp場所に移動することをお勧めします。.../categoriesこれにより、ソースディレクトリがターゲット層の一部であるため、変更されません。

おすすめ記事