ubuntu
Windows&Linux下设置ngrok开机自启动
Deno 1.0
解决:关于docker闪退的问题
Windows 上的 Docker 引擎
文档管理 - 个人中心
Windows 10 安装 MySQL 8.0 指南
给Django添加Google Adsense 要求的ads.txt
docker命令
如何回滚WordPress插件(初学者版本控制) | ItBook
在Ubuntu 18.04上安装PHP 7.4
docker命令行
在PHP 7.3,Nginx,Apache,使用加密SSL,Cloud SQL(MySQL 5.7)的Google Cloud Platform上,将具有Nginx反向代理的WordPress安装到Ubuntu 18.04的Apache到Apache。
How to install mcrypt PHP module on Ubuntu 18.04 Linux
DjangoCMS手动安装
搭建Git服务器
Ubuntu Server 18.04 LTS 开机自动启动脚本 SVN自动启动 rc.local
通过禁用信号进行更快的DJANGO测试
gitBook的发布流程
ubuntu 18.04 怎么设置字体样式,调整字体大小
iptables过滤URL目标请求的小技巧
rsync复制文件的一些注意事项
如何设置crontab的时区?
本文档使用 MrDoc 发布
-
+
首页
rsync复制文件的一些注意事项
# rsync介绍 rsync 是 Andrew Tridgell 和 Paul Mackerras 开发的远程同步文件工具,可以通过 LAN/WAN 快速在多台主机之间同步文件。rsync 使用智能算法有效计算源文件和目标文件的不同,实际传输时只传输差异部分,此外还可以使用压缩算法压缩数据,因此同步速度相当快。本站之前的文章 WordPress备份方案和备份脚本 便是使用 rsync 跨机器备份程序文件和数据库。 尽管 rsync 比 ftp、scp 等工具更强大,传输效果更高,实际使用中仍有一些注意事项。 # rsync复制文件的一些注意事项 ## 安装rsync 某些精简版的系统没有默认安装rsync,则需要手动安装: `yum install -y rsync` ubuntu使用 apt install rsync 需要注意的是,同步的两台主机必须都安装rsync才能正常工作,而不是常规思维认为的只在执行命令的主机上安装就好了。 ## rsync常用参数 rsync 的基本语法是: rsync [option] src dest 其中 src 和 dest 既可以是本机的文件或目录,也可以是远程主机的资源。 网络同步(备份)本来就是一个复杂的事情,因此rsync的选项参数非常多,新手通过man命令看到几页参数可能一脸懵逼,不知如何下手好。其实平常使用的参数主要是以下几个: -a:归档模式,几乎是必用的参数,等同于-rlptgoD -v:详细输出模式,比较常用,与之相反的参数是-q,表示不输出信息 -P:保持传输时的文件部分,以便增量同步,同时输出传输进度,等同于--partial --progress。这个参数能看到每个文件的传输进度,推荐使用 -z:压缩数据后再传输,在 1mbps带宽 等小水管情形下比较有用 --exclude:排除同步的文件,例如 --exclude=.svn。如果需要排除的文件比较多,可以写成文件然后用–exclude-from参数 --delete:删除dest中有而src没有的文件,其变种是--delete-before和--delete-after,指定同步前删除还是同步完成后删除 --bwlimit:限制最大同步带宽,单位是KB/s,1mbps是128KB/s。一些vps商家整理 介绍的个别国内商家,如果给的带宽是20m,超过这个带宽时间稍长就会中断数据传输一段时间,此时可以用这个参数避免断流。这个参数实际中很少用。 绝大多数情形下,-avP 参数就足够,其他参数尽在需要时才指定。 更多参数请使用 man rsync 查看官方文档获取。 ## rsync尾部斜杆 rsync 让许多人搞混,也是容易感到困惑的一个事情是:src 和 dest 结尾加斜杆有什么影响?例如以下几种情形,分别有什么不同? ```bash rsync -avP src dest rsync -avP src/ dest rsync -avP src dest/ rsync -avP src/ dest/ ``` 对rsync来说,有无尾部斜杆说起来区别挺大,其决定了目标文件的目录结构。如果你只在乎数据同步好,不在乎多一层文件夹,也不用太关心这个事。 具体来说,上面四种写法区别是: 第一种写法:如果src是文件,则同步到名为dest的文件;如果src是目录(文件夹),同步结束后src出现在dest文件夹内 第二种写法:将src中的文件同步到dest文件夹内 第三种写法:不管src是文件还是目录,同步到dest文件夹内 第四种写法:同第二种写法,将src中的文件同步到dest文件夹内 总结便是: dest后的斜杆仅在src为文件才有影响,有斜杆表示dest是目录 src有无斜杆决定是将整个文件(夹)复制到dest中,还是将src中的文件复制到dest中。例如有文件夹a,rsync -avP a b,同步结束后a出现在文件夹b中(b不存在则创建);如果是 rsync -avP a/ b,那么a中的文件会出现在文件夹b中,但b中没有a文件夹。 此外还需要注意的是,加斜杆就可以了,不要加*,否则会导致--delete等参数不起作用。例如 rsync -avP --delete a/* b能将a中的文件同步到b中,但a中删除文件后,再运行这个命令不会删除b中的文件。 ## 远程主机使用非标准端口 rsync 默认通过 ssh 协议与远程主机进行通讯。如果远程主机ssh不是监听默认的22端口,那么需要额外设置。 尽管rsync有-p和-P两个选项,但都不是用来指示远程主机的ssh端口 一种方式是配置~/.ssh/config文件,指定远程ssh端口: Host 远程IP Port 远程ssh端口 另一种方法是使用-e选项:rsync -avP -e"ssh -p 远程ssh端口" src dest。 对于经常使用的主机。建议使用第一种方式,方便平时ssh登录。
老糊糊
2020年8月23日 14:45
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码