rsync 维护给定点的文件夹结构

rsync 维护给定点的文件夹结构

我正在尝试为我的远程服务器开发一个文件更新程序。因此,每次我修改工作站上的一些代码文件时,我都会运行它rsync,它会修改远程服务器上的代码文件。

所以想象一下,如果我修改文件,/home/myuser/workspaces/project/folder/file.txt我希望将其同步到[email protected]:/work/folder/file.txt.正如您所看到的,服务器保留了文件夹结构,尽管它跳过了不相关的部分/home/myuser/workspaces/project/

如果我执行 rsync from/home/myuser/workspaces/project/它很容易解决,因为我只需要添加选项-R

$ cd /home/myuser/workspaces/project/
$ rsync -aR folder/file.txt [email protected]:/work

这样就可以解决问题了。问题是我不知道命令将从哪里执行,所以我必须添加整个路径/home/.../file.txt,并且使用显示的命令会将所有内容保存到: 中[email protected]:/work/home/myuser/workspaces/project/folder/file.txt

我想要实施的方案有什么解决方案吗?

顺便说一下,此时,远程主机上的rsync可能是一个空文件夹。/work/

谢谢!

答案1

为了将来,我找到了最快的解决方案,其中涉及参数并在要开始创建的文件夹之前-R添加。/./

例如:

 $ rsync -aR /home/myuser/workspaces/project/./folder/file.txt [email protected]:/work

/work/folder/file.txt将在远程服务器中创建该文件夹。

只是留下这个答案以供将来使用和其他人查看,因为在其他网站上很难找到它。

相关内容