我正在尝试将多个 rsync 命令合并为一个命令。目前我使用以下命令:
/usr/bin/rsync --exclude-from=/directory/exclude.txt --delete --rsync-path "/usr/bin/sudo /usr/bin/rsync" -e 'ssh' -rtogpu /directory user@server:/directory
此命令在不同的目录中执行了 5 次。我尝试使用--include-from=include.txt
和将这 5 条命令合并为一条命令--files-from=include.txt
,如下所示:
/usr/bin/rsync --delete --rsync-path "/usr/bin/sudo /usr/bin/rsync" -e 'ssh' -rtogpu --files-from=/directory/include user@server:/directory
不幸的是,这没有起到作用,有没有一个好的方法可以用 rsync 来实现这一点?如果有的话,我该怎么做呢?
需要明确的是,我需要同步目录的全部内容,而不仅仅是单个文件。
提前致谢!
编辑
我的包含文件是这样的:
/directory/lower-dir/even-lower-dir/
/directory/lower-dir/
/directory/lower-dir/even-lower-dir/lowest-dir/
我按照 Roomney 的建议尝试过在末尾加上和不加上斜杠,但都没关系。
答案1
我不确定具体如何使用--include-from=include.txt
对您不起作用。在您的include.txt文件中,首先确保它位于您当前的目录中,或者使用它的绝对路径。
在 include.txt 中,确保每个文件夹都有绝对路径,且没有尾部斜杠。此外,您可能想尝试不带斜杠的命令,--files-from=include.txt
因为我不确定是否需要它。希望这能有所帮助!