Home > unix > rsyncの–deleteでファイルが削除されない

rsyncの–deleteでファイルが削除されない

  • 2008-04-24 (木) 22:14
  • unix
  • このエントリーをはてなブックマークに追加
この記事の所要時間: 039

rsyncで以前困ったこと。

--deleteを付けて同期しているのに、同期元で削除したファイルがなぜか同期先で消えない現象が発生。

結局理由は、同期元のパスに*(アスタリスク)を付けていたのが原因だった。

ディレクトリ構成は↓な感じ。

CODE:
  1. $ find ./
  2. ./src/
  3. ./src/a
  4. ./des
  5. ./des/a
  6. ./des/b

bはdes/にはあるが、src/には無いので--delete付けると、消えるはず。

CODE:
  1. $ rsync -avz --delete src/* des/
  2. $ find ./
  3. ./src/
  4. ./src/a
  5. ./des
  6. ./des/a
  7. ./des/b <--- 消えてない。。。

アスタリスク無しで実行すればok。

CODE:
  1. $ rsync -avz --delete src/ des/
  2. $ find ./
  3. ./src/
  4. ./src/a
  5. ./des
  6. ./des/a
  7.             <--- 消えた!

ちなみにsrc/以下のサブディレクトリについては、[*]付けてもokでした。[*]を指定したディレクトリでは、ディレクトリエントリは見ないのかな。

rsyncでディレクトリを指定する際は、末尾に[/]を付けるつけないで挙動が変わるから、安全のために[*]を付けていたのが、逆に仇となったという話でした。パラメータはキチンと把握しておこう。

コメント (Close):1

11-01-19 (水) 10:55

rsync -avz --delete src/* des/

rsync -avz --delete src/a des/
のコマンドを実行しているのと同じなので
des/b
は対象にならないと思います。

トラックバック:0

このエントリーのトラックバックURL
http://www.1x1.jp/blog/2008/04/rsync_delete_asterisk.html/trackback
Listed below are links to weblogs that reference
rsyncの–deleteでファイルが削除されない from Shin x blog

Home > unix > rsyncの–deleteでファイルが削除されない

検索
フィード
メタ情報

Return to page top