三十五 rsync 工具介绍 rsync 常用选项 rsync 通过 ssh 同步
一 rsync 工具
数据备份, 很重要
rsync 工具: 数据备份的工具 remote sync(远程同步)
rsync 可以远程同步数据 (类似 scp), 也可以本地同步数据 (类似 cp)
不同于 cp 或 scp 的是, 它不会覆盖以前的数据 (当数据已存在), 而是先判断已存在的数据和新数据的差异, 只有数据不同时才会把不同的部分覆盖
若没有 rsync 命令, 就 yum install -y rsync 安装
# rsync -av /etc/passwd /tmp/1.txt 将 / etc/passwd 同步到 / tmp / 目录下, 并改名
若是远程同步, 数据备份就是 IP:path 的形式, 比如 192.168.188.128:/root / 具体用法:
# rsync -av /etc/passwd root@192.168.93.130:/tmp/1.txt
用户名 IP 文件路径
首次连接会提示时候继续连接, 输 yes 继续建立连接后, 需要输入密码
格式:
- rsync [OPTION] ... SRC DEST
- rsync [OPTION] ... SRC [USER@]HOST:DEST
rsync [OPTION] ... [USER@]HOST:SRC DEST 远程源目录拷至本地
- rsync [OPTION] ... [USER@]HOST::SRC DEST
- rsync [OPTION] ... SRC [USER@]HOST::DEST
option: 选项
SRC: 源目录
DEST: 目标目录
若不指定用户, 则为当前终端的用户
hostSRC: 远程目录
二 rsync 常用选项
-a: 归档模式, 以递归方式传输文件, 并保持所有属性等同于 - rlptgoD 后面可以跟个 --no-OPTION, 表示关闭 - rlptgoD 中的某个, 比如 - a--no-l 等于 - rptgoD
-r: 同步目录时加上, 类似 cp 时的 - r 选项
-v: 可视化, 打印一些信息, 比如文件列表, 文件数量
-l: 保留软链接
-L: 同步软链接时会把源文件给同步
-p: 保持文件的权限属性 755,644; 拷贝过去还是这个权限
-o: 保持文件的属主
-g: 保持文件的属组
-D: 保持设备文件信息
-t: 保持文件的时间属性
--delete: 删除 DST 中 SRC 没有的文件
--exclude: 过滤指定文件, 如 --exclude=PATTERN, 等号后跟文件名也可以是万用字符模式 (如 *.txt)--exclude logs 会把文件名包含 logs 的文件或目录过滤掉, 不同步
--progress: 表示在同步的过程中可以看到同步的过程状态, 比如统计要同步的文件数量同步的文件传输速度等同 - P
-P: 显示同步过程, 比如速率, 百分比比 - v 详细
-u: 若 DEST 中的文件比 SRC 新, 则不同步
-z: 在传输过程中压缩 zip 的意思
-e: 指定端口
用法示例:
- # rsync -avL test1 test3 加上 - L 后, 小写 l 就不生效了
- # rsync -a test1/ test3/ 备份目录时, 要养成加斜杠的习惯
- # rsync -avP 123 dir3 传输速度, 进程都会列出来
- sending incremental file list
- 123/
- 123/1.txt
- 25 100% 0.00kB/s 0:00:00 (xfer#1, to-check=4/6)
- 123/2.txt
- 46 100% 44.92kB/s 0:00:00 (xfer#2, to-check=3/6)
- 123/3.txt
- 76 100% 74.22kB/s 0:00:00 (xfer#3, to-check=2/6)
- 123/678
- 0 100% 0.00kB/s 0:00:00 (xfer#4, to-check=1/6)
- 123/567/
- sent 451 bytes received 96 bytes 1094.00 bytes/sec
- total size is 147 speedup is 0.27
三 rsync 通过 ssh 同步
- # rsync -av /etc/passwd 192.168.93.130:/tmp/1.txt 本地同步至远程, 推文件
- # rsync -av 192.168.93.130:/tmp/1.txt /tmp/2.txt 远程同步至本地, 拉文件
一个冒号就属于通过 ssh 方式备份数据
远程的对方机器也需要安装 rsync 工具才能使用
# rsync -avP -e "ssh -p 22" /etc/passwd 192.168.93.130:/tmp/1.txt
当对方不是 22 端口时, 可用 - e 指定连接对方的某个端口
来源: http://www.bubuko.com/infodetail-2540989.html