文章目录
一、功能
rsync是一款开源的、快速的、多功能的、可实现全量及增量的本地或远程数据同步备份的优秀工具。rsync软件适用于unix/linux/windows等, 目前,已支持跨平台,可以在Windows与Linux间进行数据同步。
特征:
- 可以镜像保存整个目录树和文件系统;
- 可以很容易做到保持源文件的权限, 时间,软硬链接等;
- 无需特殊权限即可安装;
- 优化流程,传输效率高;
- 可以使用scp, ssh等方式来传输文件, 当然也可以通过直接的socket连接;
- 支持匿名传输
二、命令格式
# Rsync的命令格式常用的有以下三种;
rsync [OPTION]... SRC DEST
rsync [OPTION]... SRC [USER@]HOST:DEST
rsync [OPTION]... [USER@]HOST:SRC DEST
三、选项说明
-L 保留源文件的软连接文件
-H 保留源文件的硬链接文件
-r 递归模式,包含目录及子目录的所有信息
-z 在传输文件的同时进行压缩
-v 显示同步过程的信息
-t 保留文件的时间标记(修改时间不变)
-o 保留文件的属主标记
-p 保留了文件的权限标记
-D 保留了设备文件和一些特殊的文件
-S 对零散文件的处理
-g 保留了文件的属组信息
-a 归档
-v 显示详细的传输信息
-P 显示数据传输的进度信息
--version 查看rsync版本
--exclude=PATTERN 排除指定数据不被传输
--exclude-from=file 排除指定数据不被传输(批量排除)
--bwlimit=RATE 显示传输的速率 100Mb/8=12.5MB
--delete 无差异同步参数(慎用)
PS: 如果让-o和-g参数生效,需要将配置文件uid和gid改为root,需要将 fake super参数进行注释
四、常用示例
4.1 拷贝本地文件
[root@study ~]# ls
anaconda-ks.cfg
[root@study ~]# rsync -a anaconda-ks.cfg a.cfg
[root@study ~]# ll a.cfg
-rw-------. 1 root root 1388 Nov 23 2020 a.cfg
4.2 将本地机器的内容拷贝到远程机器
[root@study /]# rsync -avz anaconda-ks.cfg root@192.168.10.133:/root/b.cfg # 两边都要安装rsync
4.3 将远程机器的内容拷贝到本地机器
#目录后面没有加"/",就表示拷贝当前目录和目录下的文件
[root@study ~]# rsync -avz root@192.168.10.133:/etc/yum.repos.d /root/
[root@study ~]# ls
anaconda-ks.cfg yum.repos.d