rsync 自动创建目录的坑点

rsync同步文件有三种模式: 1、把源站路径下某个文件,同步到目标路径。例如rsync -aR /data/1/2/3/a.txt 1.1.1.1:/data/ ,目标机器将自动创建多层目录存放a.txt。也可以换不同存放目录,例如rsync -aR /data/1/2/3/a.txt 1.1.1.1:/backup/,得到/backup/data/1/2/3/a.txt。 2、把源站某个目录,同步到目录路径。例如rsync -a /data/1/2/3 1.1.1.1:/data/other/ ,将把目录3拷贝到目标机器的other目录下,而3里边如果有子目录,都会跟着一起过去。 3、把源站某个文件同步到目标文件。例如例如rsync -a /src/b.txt 1.1.1.1:/data/1/2/3/b.txt,这样即使目录不一样,最后也只是b.txt传递过去,而不是把源站的目录结构传过去。

第一二种情况,根目录一般都要先建好,不存在的情况还没测试过。 第三种情况,目录路径很可能就不存在,而这里就有坑点。rsync只支持创建一层目录!!!也就是说,上述例子,只允许目录3不存在,前缀/data/1/2/必须先存在。

要解决上述问题,就要用点小技巧,例如: 1、用别的程序创建目录 2、ssh过去先创建 3、奇技淫巧:rsync -a --rsync-path="mkdir -p /tmp/imaginary/ && rsync" /src/b.txt 1.1.1.1:/data/1/2/3/b.txt。我觉得这个方法类似sql注入的思路,rsync-path用于指定目标机器rsync服务在哪里。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Hadoop实操

如何在CDSW上创建Git工程

在CDSW上有多中创建工程的方式(创建一个空的工程、模板工程、本地上传工程或者是创建git工程),前面的都比较好理解,那如何在CDSW上创建Git工程呢?本篇文...

3433
来自专栏菩提树下的杨过

设置 java -jar 的进程显示名称

有时候我们会用 nohup java -jar xxx.jar来将一些可执行的java application挂在后台,类似windows服务一样来运行。但是有...

1877
来自专栏DeveWork

S-shortcodes:WordPress短代码形式美化框插件下载

S-shortcodes 短代码插件是Jeff在一款国外短代码插件的基础上进行二次开发而来的,相对应原插件,去除了自认为鸡肋的一些特效,改进精简了相关代码,更为...

1866
来自专栏杂烩

hadoop集群配置之服务器ssh免密码配置 原

    主机名:master:h1(192.168.1.55),slave:h2(192.168.1.56),h3(192.168.1.57)

281
来自专栏编程坑太多

『中级篇』docker之运行nginx跳转到本地的jar并配置https(番外篇)(80)

PS:基本的nginx容器配置秘钥和key,跳转返回的时候,访问java容器的IP。

874
来自专栏魏艾斯博客www.vpsss.net

解决宝塔面板环境的 wordpress 网站页面 404 错误

2393
来自专栏云计算教程系列

如何在FreeBSD 11.0上安装Git

版本控制系统是现代软件开发中不可或缺的工具。它们允许您在源级别跟踪您的软件。您可以跟踪更改,还原到以前的阶段,然后分支以创建文件和目录的备用版本。

782
来自专栏李蔚蓬的专栏

一个关于R包报错的tip

573
来自专栏小李刀刀的专栏

CentOS 7 开启 BBR 加速

Google 在 2016年9月份开源了他们的优化网络拥堵算法BBR,最新版本的 Linux内核(4.9-rc8)中已经集成了该算法。 对于TCP单边加速,并非...

5765
来自专栏流星博客

WordPress内外链自动添加GO跳转

经常看到一些博客点击外链跳转到其他网站上的时候都会有一个跳转页面,很是漂亮。据说是有利于SEO,保护站点权重,不过个人只是觉得好看、高逼格便加上了 。网上相关的...

1484

扫码关注云+社区