rsyncを使用して、特定のフォルダだけ

除いて転送を行いたい場合、
以下のコマンドをどうしたらいいのでしょうか??
rsync -auvzb -e ”/usr/bin/ssh -i /root/.ssh/test ” /test/* test@test.co.jp:/home/test

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2005/10/20 16:45:26
  • 終了:--

回答(2件)

id:xnissy No.1

xnissy回答回数859ベストアンサー獲得回数2002005/10/20 18:13:57

ポイント25pt

除外したいディレクトリが少数であれば--excludeというオプションを使用します。もし多数あるのであれば、除外したいディレクトリを書いたファイルを作成して--exclude-fromを使用します。


例えば/test/hoge/というディレクトリを除きたい場合は


rsync -auvzb -e ”/usr/bin/ssh -i /root/.ssh/test ” --exclude ”/hoge/” /test/* test@test.co.jp:/home/test


除外したいものをどう記述するかについての詳しい説明はリンク先の「EXCLUDE パターン」http://www.infoscience.co.jp/technical/rsync/rsync.html#excludeをお読み下さい。


/test/hoge/と/test/fuga/を除外したい場合は、例えば「exclude_pattern」というファイルに

/test/hoge/

/test/fuga/

と書いて、


rsync -auvzb -e ”/usr/bin/ssh -i /root/.ssh/test ” --exclude-from exclude_pattern /test/* test@test.co.jp:/home/test


と実行すればいいでしょう。

id:tech1

ありがとうございます。

ですが

rsync -auvzb -e ”/usr/bin/ssh -i /root/.ssh/test ”--exclude-from=/test/exclude_pattern /test/* test@test.co.jp:/home/test

除外フォルダは

/test/bbbb/

という風にしてもきちんと除外されません。

どうしたらいいでしょうか??

2005/10/20 18:43:16
id:xnissy No.2

xnissy回答回数859ベストアンサー獲得回数2002005/10/21 01:37:03

ポイント25pt

申し訳ありません。例を書き間違えていたようです。


除外フォルダはフルパスではなく、基点ディレクトリからのパスを書かなければならないようです。--exclude ”/hoge/” と同様、ファイルに書く場合でも


/hoge/

/fuga/


と書いてください。

id:tech1

ありがとうございます。出来ました。

2005/10/21 11:22:11

コメントはまだありません

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません