您好我想使用rsync将数据从sourcehost
移动到desthost
,但目录结构不是我想要的100%。
sourcehost
:
desthost
应该:
这是我的files_to_include.txt
:
/crappy_dir/another_crappy_dir/i_like_this_one/and_this_too/file
和我目前的测试rsync命令:
desthost# rsync -aAHXv -e ssh --files-from=files_to_include.txt sourcehost: /my_cool_dir
但它会创建
/my_cool_dir/crappy_dir/another_crappy_dir/i_like_this_one/and_this_too/file
rsync中是否有任何选项可以重新编写目标路径?让我们说像--magical-dest-transformation "s@/crappy_dir/another_crappy_dir/@/@"
这样神奇的perl-like-regexp会这样做。我也无法提出一个好的--rsync-command
选项。欢迎提出建议。
注意:这是一个数TB的多主机副本,需要几天时间才能完成,复制后的“简单mv”不够好,因为我会多次重新运行rsync。我需要它足够聪明才能“查找”文件。
答案 0 :(得分:0)
rsync中是否有任何选项可以重新编写目标路径?
否,因为rsync的同步部分依赖于路径,文件名和其他元特征,不仅仅是复制,还包括删除。
复制后的“简单mv”不够好
复制之前的简单mv 怎么样?如果这不可行,为什么不在源上创建链接文件夹结构,然后将该文件夹结构rsync到目的地?
我需要它足够聪明才能“查找”文件
您是否考虑为每个文件制作一个rsync命令?这样您只需转换一次源文件夹和目标文件夹,但可以多次重新运行rsync行以进行对等。