使用include-from时,rsync在归档到另一台计算机时复制文件

时间:2016-12-27 02:14:31

标签: bash rsync

背景

我有一台新计算机,我正在尝试使用rsync将文件复制到它(Apple的迁移助手反复到达16分钟然后永远挂起 - 我试图通过使用rsync来解决这个问题)。

问题:

我正在尝试将旧计算机中的文件复制到新计算机上。我在新计算机上运行以下脚本。

# in Dropbox/migrate.sh:
set -x

IP=10.1.1.5
rsync -navzhe ssh --include-from="Dropbox/migration_files.txt" --exclude="*" $IP:.* ~



# in Dropbox/migration_files.txt:
.lein/
.lein/profiles.clj
bmaddy/
bmaddy/4clojure.clj
Desktop**

预期:

我希望看到这样的事情:

$ Dropbox/migrate.sh 
++ IP=10.1.1.5
++ rsync -navzhe ssh --include-from=Dropbox/migration_files.txt '--exclude=*' '10.1.1.5:.*' /Users/bmaddy
receiving file list ... done
./
.lein/
.lein/profiles.clj
Desktop/
Desktop/piano.txt
bmaddy/
bmaddy/4clojure.clj

实际:

我实际看到的是:

$ Dropbox/migrate.sh 
++ IP=10.1.1.5
++ rsync -navzhe ssh --include-from=Dropbox/migration_files.txt '--exclude=*' '10.1.1.5:.*' /Users/bmaddy
receiving file list ... done
./
.lein/
.lein/profiles.clj
Desktop/
Desktop/piano.txt
bmaddy/
bmaddy/4clojure.clj
bmaddy/.lein/
bmaddy/.lein/profiles.clj
bmaddy/Desktop/
bmaddy/Desktop/piano.txt
bmaddy/bmaddy/
bmaddy/bmaddy/4clojure.clj

当我实际运行此操作(没有-n)时,Desktop.leinbmaddy中的所有文件都会在bmaddy目录下重复。

有谁知道为什么这些文件会被复制以及我如何阻止这种情况发生?

$ rsync --version
rsync  version 2.6.9  protocol version 29

1 个答案:

答案 0 :(得分:0)

以下是我发现最终可以解决问题的解决方案:

# in Dropbox/migrate.sh
set -x

IP=10.1.1.5

rsync -navzhe ssh --include-from="Dropbox/migration_files.txt" --exclude="*" $IP:. ~

# in Dropbox/migration_fiels.txt
/.lein/
/.lein/profiles.clj
/bmaddy/
/bmaddy/4clojure.clj
/Desktop**