Rsync SSH の包含と除外

Rsync SSH の包含と除外

これは私の現在のrsyncシェルスクリプトです。

upload.sh

SOURCEDIR=/Users/thomas/sites/dreamhost/
DESTDIR=******@reggi.com:/home/thomasreggi/sites/
##rsync -avzL --delete --include '*/' --include-from=list.txt --exclude '*' $DESTDIR $SOURCEDIR

SOURCEDIR=/Users/thomas/sites/dreamhost/
DESTDIR=******@reggi.com:/home/thomasreggi/sites/
rsync -avzL --delete --exclude=".DS_Store" --exclude-from=list.txt $SOURCEDIR $DESTDIR

リスト.txt

reggi.com/assets/dailybooth/img/original/
reggi.com/assets/dailybooth/img/spritesheets/
reggi.com/assets/dailybooth/sprite.css
reggi.com/assets/thumb/cache/
reggi.com/wordpress/wp-content/plugins/
reggi.com/wordpress/wp-content/uploads/

ここで達成したいことは、リストディレクトリをrsyncにダウンロードしてから、リストディレクトリを除くすべてのアイテムをアップロードすることです。 2番目のスクリプトはうまくいき、リストファイルを避けましたが、最初のスクリプトは私が望むものを正確に実行しませんでした。 **をディレクトリの末尾に追加することで使用できますが、これが2番目のスクリプトで機能するかどうかはわかりません。私はこれを行うための最良の方法を探しています。

ベストアンサー1

新しいrsyncバージョン(少なくとも2.6.7)がある場合は、reggi.com/assets/dailybooth/img/original/***rsynclist.txtなどを使用できます。これにより、両方のコマンドが機能します。これより愚かな方法はないと思います。--prune-empty-dirs最初のコマンドに追加することもできます。

あなたの一般的なワークフローに質問があります。特定のディレクトリを一方向にコピーし、残りを別の方向にコピーするのはかなり奇妙です。両側に同じコンテンツを用意し、両側に変更がある場合は双方向同期を実行することをお勧めします。双方向同期のための移動ツールは次のとおりです。調和

おすすめ記事