linux 之 rsync 远程同步文件
rsync 全名
Remote Sync
,是类unix
下数据镜像的备份工具。可以方便的实现本地,远程备份文件,rsync
最重要的一点是支持增量备份。
命令语法
对应于以上六种命令格式,rsync 有六种不同的工作模式:
拷贝本地文件。当 SRC 和 DES 路径信息都不包含有单个冒号":"分隔符时就启动这种工作模式。如:rsync -a /data /backup
使用一个远程 shell 程序(如 rsh、ssh)来实现将本地机器的内容拷贝到远程机器。当 DST 路径地址包含单个冒号":"分隔符时启动该模式。如:
rsync -avz *.c foo:src
使用一个远程 shell 程序(如 rsh、ssh)来实现将远程机器的内容拷贝到本地机器。当 SRC 地址路径包含单个冒号":"分隔符时启动该模式。如:
rsync -avz foo:src/bar /data
从远程 rsync 服务器中拷贝文件到本地机。当 SRC 路径信息包含"::"分隔符时启动该模式。如:
rsync -av root@192.168.78.192::www /databack
从本地机器拷贝文件到远程 rsync 服务器中。当 DST 路径信息包含"::"分隔符时启动该模式。如:
rsync -av /databack root@192.168.1.110::www
列远程机的文件列表。这类似于 rsync 传输,不过只要在命令中省略掉本地机信息即可。如:
rsync -v rsync://192.168.1.110/www
如果主机和 path 路径之间使用单个冒号隔开,表示使用的是远程 shell 通信方式,而使用双冒号隔开的则表示的是连接
rsync daemon
常用几个参数
rsync 全部参数
本地拷贝
当 SRC 和 DES 路径信息都不包含有单个冒号 “:” 分隔符时就启动这种工作模式。
将jdk.tar.gz
拷贝到rumenz
目录
将src
目录拷贝到rumenz
目录
将
/opt/src
目录下的文件同步发送到rumenz
目录下。记住如果目标地址没有src
目录,rsync
会自动创建该文件夹。
将src
目录下的所有文件拷贝到rumenz
目录
SRC 路径末尾的 / 表示不自动创建 DEST 文件夹,在 man rsync 中的解释就是末尾的 / 表示”拷贝当前目录下的文件” ,而不是”拷贝当前的目录”.
远程拷贝
使用一个远程 shell 程序(如 rsh、ssh) 来实现将本地机器的内容拷贝到远程机器。当 DES 路径地址包含冒号
:
或::
分隔符时启动该模式。
将本地/opt/src/
目录下 所有文件同步备份到远程 /opt/rumenz/ 目录
将本地/opt/src/
目录同步备份到远程 /opt/rumenz/ 目录
将远程 /opt/rumenz
目录拷贝到rumenz
目录(ssh 模式,单冒号)
将远程 /opt/rumenz
目录下所有的文件拷贝到rumenz
目录(ssh 模式,单冒号)
将远程 /opt/rumenz
目录拷贝到rumenz
目录(rsync 模式,双冒号)
将远程 /opt/rumenz
目录下所有的文件拷贝到rumenz
目录(rsync 模式,双冒号)
列远程机的文件列表
rsync 使用非标准端口
经常遇见的一种情况就是 ssh 更改了默认 22 端口,这个时候就需要使用 -e 参数。
rsync 有两种常用的认证方式,一种为 rsync-daemon 方式,另外一种则是 ssh。
ssh 一般为首选,但当远端服务器的 ssh 默认端口被修改后,rsync 找不到一个合适的方法来输入对方 ssh 服务端口号。
比如现在向机器
rumenz.com
传送文件,但此时rumenz.com
的 ssh 端口已经不是默认的 22 端口。
显示备份进度
限制备份文件最大值
备份结束后自动删除本地文件
设置备份带宽
原文链接:https://rumenz.com/rumenbiji/linux-rsync.html微信公众号:入门小站
回复【1001】获取 linux 常用命令速查手册
回复【10010】获取 阿里云 ECS 运维 Linux 系统诊断
回复【10012】获取 Linux 学习笔记【强悍总结值得一看】
回复【10013】获取 shell 简明教程
版权声明: 本文为 InfoQ 作者【入门小站】的原创文章。
原文链接:【http://xie.infoq.cn/article/2d863dd1947f82f07dc12ba5b】。文章转载请联系作者。
评论