我试图镜像一个随时间变化到另一个目录的目录.我的问题是rsync不会删除目标上的文件,如果它们不再存在于源目录中.这是一个演示脚本:
- #!/bin/sh
- set -x
- DIR1=/tmp/1
- DIR2=/tmp/2
- rm -rf $DIR1
- rm -rf $DIR2
- mkdir $DIR1
- mkdir $DIR2
- echo "foo" > $DIR1/a
- echo "bar" > $DIR1/b
- rsync -a $DIR1/* $DIR2
- rm -f $DIR1/a
- rsync -a --delete $DIR1/* $DIR2
- ls -1 $DIR2
这是输出:
- + DIR1=/tmp/1
- + DIR2=/tmp/2
- + rm -rf /tmp/1
- + rm -rf /tmp/2
- + mkdir /tmp/1
- + mkdir /tmp/2
- + echo foo
- + echo bar
- + rsync -a /tmp/1/a /tmp/1/b /tmp/2
- + rm -f /tmp/1/a
- + rsync -a --delete /tmp/1/b /tmp/2
- + ls -1 /tmp/2
- a
- b