我正在尝试使用rsync完成从远程服务器到本地计算机的未完成传输
rsync -a user@domain.com:~/source/ /dest/
其中/dest/
是部分完成转移的位置。但是,由于带宽问题,我需要在没有/tmp_dest/
副本的其他计算机上运行rsync到/dest/
,然后我可以将/tmp_dest/
移到/dest/
1}}
我到目前为止提出的解决方案是使用rync的--exclude-from
选项,使用包含/dest/
文件完整列表的文件。
命令看起来像这样
rsync -a --exclude-from 'list.txt' user@domain.com:~/source/ /tmp_dest/
在这一点上,我觉得好像我到处寻找解决方案,并尝试了我遇到的每一个变种。
这包括'list.txt'
相对
path 1/file 1
path 2/file 2
- 或 -
绝对的:
/absolute/source/path 1/file 1
/absolute/source/path 2/file 2
我已尝试使用包含-
的组合来明确排除该行(我在其中看到过想要+
其他文件的人的示例)
- /absolute/source/path 1/file 1
- /absolute/source/path 2/file 2
我已尝试将前导**/
放在文件路径前面以纠正相对路径问题
**/path 1/file 1
**/path 2/file 2
我还尝试导航到包含'list'
的目录并从那里执行rsync,以避免rsync查找的问题
/path/to/the/list/something1/to.exclude
/path/to/the/list/something2/to.exclude
/path/to/the/list/something3/to.exclude
毫无疑问没有找到任何东西
我还发现,“'”列表中正在使用正确的换行符。文件。 即。 LF
(Unix)换行符。
我尝试使用以下命令
创建'list'
find . -type f | tee list.txt
这最初创建了一个类似这样的文件
./yyyy-mm-dd folder 1/sub folder [foo]/file.a
./(yyyy) folder 2 {foo2}/file.b
./folder, 3/sub-folder 3/file.c
正如您所看到的,文件路径中有空格和其他字符,但根据我目前的理解,这不应该影响。但也许我错了,需要逃避任何具有特殊意义的角色,然后我可能需要帮助
然后我在notepad ++或其他文本编辑器中对./
执行替换,保留LF
(Unix)换行符以获得所需的结果。
(例如如上所述,我尝试用./
替换任何内容,/absolute/path/for/source/
注意前导斜杠,甚至双重通配符以匹配任何包含该结构的父树结构文件。
我觉得我唯一没想过的就是逃避文件名和路径中的空格,但我读过这不应该是一个问题。
也许我忽视了一些事情,任何帮助都会受到赞赏。
答案 0 :(得分:0)
这是来自rsync手册页如何使用" - exclude-from": --exclude-from = FILE读取排除FILE中的模式
使用以下命令: rsync -a --exclude-from = list.txt user@domain.com:~/ source / / tmp_dest /
最好使用list.txt文件的完整路径名