正则表达式 – rsync –exclude-from’list’文件不起作用
我正在尝试使用rsync来完成从远程服务器到本地计算机的未完成传输
rsync -a user@domain.com:~/source/ /dest/ 其中/ dest /是部分完成的转移的位置.但是,由于带宽问题,我需要在没有/ dest /副本的另一台机器上运行rsync到/ tmp_dest /,然后我可以在那里将/ tmp_dest /运行到/ dest / 到目前为止我提出的解决方案是使用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 毫无疑问,一无所获 我还发现’list’文件中正在使用正确的换行符.即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 正如您所看到的,文件路径中有空格和其他字符,但从我目前的理解来看,这不应该影响.但也许我错了,需要逃避任何具有特殊意义的角色,我可能需要帮助 然后,我在记事本或其他文本编辑器中执行替换./保留LF(Unix)换行符以获得所需的结果. 我觉得我没有尝试过的唯一一件事是逃避文件名和路径中的空格,但我已经读到这应该不是问题. 也许我忽视了一些事情,任何帮助都会受到赞赏. 解决方法
这是来自rsync手册页如何使用“–exclude-from”:
–exclude-from = FILE读取排除FILE中的模式 使用以下命令: 并且最好使用list.txt文件的完整路径名 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |