首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何配置才能在服务器上创建目标目录?

如何配置才能在服务器上创建目标目录?
EN

Stack Overflow用户
提问于 2009-10-28 20:16:33
回答 12查看 190.6K关注 0票数 178

我想从本地计算机到服务器执行rsync操作。在一个不存在的目录上,我希望rsync首先在服务器上创建该目录。

我该怎么做呢?

EN

回答 12

Stack Overflow用户

回答已采纳

发布于 2014-04-07 17:26:37

如果要创建的叶目录多于最后一个叶目录,则可以先运行单独的ssh ... mkdir -p,或者使用--rsync-path技巧作为explained here

代码语言:javascript
复制
rsync -a --rsync-path="mkdir -p /tmp/x/y/z/ && rsync" $source user@remote:/tmp/x/y/z/

或者按照托尼的建议使用--relative选项。在这种情况下,您只需指定目标的根目录(必须存在),而不指定将创建的源的目录结构:

代码语言:javascript
复制
rsync -a --relative /new/x/y/z/ user@remote:/pre_existing/dir/

这样,您将得到/pre_existing/dir/new/x/y/z/

如果你想创建"y/z/“,而不是在"new/x/”里面,你可以在你想要--relative开始的地方添加./

代码语言:javascript
复制
rsync -a --relative /new/x/./y/z/ user@remote:/pre_existing/dir/

将创建/pre_existing/dir/y/z/。

票数 203
EN

Stack Overflow用户

发布于 2013-04-23 08:22:34

假设您正在使用ssh连接rsync,那么在此之前发送ssh命令会怎么样:

代码语言:javascript
复制
ssh user@server mkdir -p existingdir/newdir

如果它已经存在,则不会发生任何事情

票数 39
EN

Stack Overflow用户

发布于 2013-07-28 19:19:59

-R, --relative选项将执行此操作。

例如:如果你想备份/var/named/chroot并在远程服务器上创建相同的目录结构,那么-R就会这么做。

票数 24
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1636889

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档