首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >rsync --链接--不链接

rsync --链接--不链接
EN

Unix & Linux用户
提问于 2018-06-18 09:08:39
回答 1查看 3.3K关注 0票数 0

我正在使用rsync创建我的网站的备份。我希望使用--link-dest链接到旧的备份并减少所需的存储,这样就不会多次存储重复的未修改的文件。

我尝试了几个不同的路径组合,试图理解文档。据我所理解,第一条路径需要是脚本文件执行位置的完整相对路径。最后一条路径,是没有路径的目标文件夹名吗?

--链接-dest= DIR -此选项的行为类似于--复制-dest,但是不变的文件很难从DIR链接到目标目录。文件必须在所有保留的属性(例如权限,可能是所有权)中相同,才能将文件链接在一起。一个例子: CW rsync -av -链接-dest=$PWD/prior_dir主机:src_dir/新_dir/

显然,我没有正确理解这一点,因为我尝试的一切都失败了,创建了一个完整的文件副本。

下面是我目前所拥有的一个例子:

代码语言:javascript
复制
rsync -zavx -e 'ssh -p22' \
    --numeric-ids \
    --delete -r \
    --link-dest=../backups/websites/testsite.co.uk/17-06-2018/ testsite@shell.grid.co.uk:~/public_html 18-06-2018/;

有没有人能弄清楚该走哪条路。

脚本.sh文件位于我的计算机上:

代码语言:javascript
复制
/Users/myname/Desktop/

那么,我的目录的完整路径是:

代码语言:javascript
复制
/Users/myname/Desktop/backups/websites/testsite.co.uk/17-06-2018/
/Users/myname/Desktop/backups/websites/testsite.co.uk/18-06-2018/

任何方向的帮助都将不胜感激。

EN

回答 1

Unix & Linux用户

发布于 2018-06-18 09:39:45

代码语言:javascript
复制
rsync -av --link-dest=/path/to/previous/backup/ source/ /path/to/this/backup/

在您的示例中,将source/更改为testsite@shell.grid.co.uk:public_html/ (请注意,可能不需要~,并且在最后应该有一个/ ),然后在可能的情况下使用本地机器上的绝对路径。使用绝对路径允许您运行命令,而不必过多地关注运行它的目录。

默认情况下使用-e 'ssh -p22',所以您不需要它,-r包含在-a选项中。

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

https://unix.stackexchange.com/questions/450394

复制
相关文章

相似问题

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