奇怪的 rsync 行为

奇怪的 rsync 行为

我编写了一个备份脚本,用于使用rsync.出于维护目的,我将所有必要的选项存储在一个数组中,并在实际rsync调用中使用它。

为了更好的可见性,每个选项在数组声明中都有自己的行。然而,我犯了一个巨大的错误,用 a/而不是正确的 来终止每一行\

我的脚本运行的命令rsync基本上是这样的:

rsync --verbose / --recursive / --archive / --progress source_folder destination_folder

下一个错误是不使用,--dry-run但幸运的是,我足够快地按 Ctrl+C 脚本,同时它仍在构建文件列表并有很多错误说Permission denied (13).

这引出了我的问题:如果您尝试过上述命令(使用--dry-run),您可能会注意到它rsync正在遍历所有内容,/我猜/是(错误地?)用作源和目的地。

但是,如果我尝试运行 rsync --verbose test1/ --recursive test2/ --archive / --progress source_folder destination_folder,而不是test1test2解释为源和目标,rsync则再次开始从 遍历/。这是为什么?

我不知道source_folder和是否destination_folder会被完全忽略或稍后使用,因为我每次在rsync构建文件列表时都会退出脚本。

另外,如果我没有中止/用作源和目标的初始运行,可能会出现什么问题?会rsync用自己覆盖每个文件吗?

答案1

--verbose --recursive --archive --progress您告诉 rsync 要做的是使用源文件夹test1/ test2/ / source_folder和目标文件夹的选项destination_folder(如果这已经有帮助的话)。 (此外,您可能需要考虑去掉测试文件夹名称中的尾部斜杠,以获取完整的文件夹,而不仅仅是内容)

相关内容