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

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

  • 2008-04-24 (木) 22:14
  • unix
この記事の所要時間: 039

rsyncで以前困ったこと。

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

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

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

$ find ./ 
./src/
./src/a
./des
./des/a
./des/b

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

$ rsync -avz –delete src/* des/
$ find ./
./src/
./src/a
./des
./des/a
./des/b <--- 消えてない。。。 [/code]

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

$ rsync -avz –delete src/ des/
$ find ./
./src/
./src/a
./des
./des/a
<--- 消えた! [/code]

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

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

Pocket

follow us in feedly

コメント (Close):1

11-01-19 (水) 10:55

rsync -avz –delete src/* des/

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

トラックバック:0

このエントリーのトラックバックURL
/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