rsync是开源的文件同步工具,特点:开源、快速、多功能、可以实现全量或增量的备份、可以实现本地或远程的推送和拉取
全量压缩:通常用于第一次,在企业中本个月/一个月做一次全量备份
增量压缩:表示在原有的基础上新增加文件或目录进行压缩备份,在企业中每天/每周做一次,而在银行/电信/税务等数据多的企业,可能半天做一次,防止数据丢失
rsync命令的使用
rsync命令的三种模式
1.本地模式
类似于cp命令,可以实现文件的复制
命令用法:
rsync 可选项 src源文件 dest目标文件
2.shell访问模式
相当于scp命令,支持断点续传,利用rsync的增量特点,实现的原理时rsync独特的算法
所谓的增量就是只传输差异部分的数据
命令用法:
推送:rsync 可选项 src源文件 user@host:dest目标文件
拉取:rsync 可选项 user@host:src源文件 dest目标文件
user:用户名
host:主机的ip地址
3.守护进程模式
客户端:C
服务器端:S
命令用法:
推送:rsync 可选项 src源文件 user@host::dest目标文件
rsync 可选项 src源文件 rsync://user@host:port/dest目标文件
拉取:rsync 可选项 user@host:src源文件 dest目标文件
rsync 可选项 rsync://user@host:port/src源文件 dest目标文件
可选项
-a 递归传输,并保持所有文件的属性
-v 详细模式输出,传输过程中显示进度等详细的信息
-z 传输的时候启动压缩的方式传输,提升效率
-P 大写,显示进度
-p 小写,保持文件的属性不变
-t 保持文件的时间信息不变
--exclude=PATH 排除文件
配置服务器rsync服务
1.检查服务器上是否安装rsync命令
[root@xxx /2020/033]# :rpm -qa|grep rsync
rsync-3.1.2-6.el7_6.1.x86_64
如果没有,安装rsync命令
yum install -y rsync
2.配置文件
配置文件路径:/etc/rsyncd.conf
匿名登录
uid = rsync
gid = rsync
use chroot = no #安全相关的配置 通常可以设置为no
fake super = yes #权限的问题 rsync临时提权让你有权限
max connections = 200 #最大连接数默认是4
pid file = /var/run/rsyncd.pid #进程号
log file = /var/log/rsyncd.log #指定日志文件 显示错误信息或程序运行信息
# exclude = lost+found/
# transfer logging = yes
timeout = 300 #默认的超时时间 没有传输的时候多长时间断开
port = 873 #rsync 端口号默认是873 也可以改8873
read only = false #只读 关闭
#auth user = rsync_backup
#指定登录用户的名称 用于客户端登录
#secrets file = /etc/rsync.passwd
#密码文件的路径
[backup]
#添加backup模块
comment = "Welcome to Azkaban RsyncBackUp"
path = /backup
实名登录
uid = rsync
gid = rsync
use chroot = no
#安全相关的配置 通常可以设置为no
fake super = yes
#权限的问题 rsync临时提权让你有权限
max connections = 200
#最大连接数默认是4
pid file = /var/run/rsyncd.pid
#进程号
log file = /var/log/rsyncd.log
#指定日志文件 显示错误信息或程序运行信息
# exclude = lost+found/
# transfer logging = yes
timeout = 300
#默认的超时时间 没有传输的时候多长时间断开
port = 873
#rsync 端口号默认是873 也可以改8873
read only = false
#只读 关闭
#auth user = rsync_backup
#指定登录用户的名称 用于客户端登录
#secrets file = /etc/rsync.passwd
#密码文件的路径
[backup]
#添加backup模块
comment = "Welcome to Azkaban RsyncBackUp"
path = /backup
auth users = rsync_backup
#指定登录用户的名称 用于客户端登录
secrets file = /etc/rsync.passwd
#密码文件的路径
3. 创建rsync服务管理用户
useradd -s /sbin/nologin -M rsync
nologin 禁止用户登录
-M 不创建登录目录
4.创建密码文件
echo "rsync_backup:123456" > /etc/rsync.passwd 这个密码文件是不存在的,时我们新建的
所有密码文件授权600 chmod 600 /etc/rsync.passwd
5.创建存储的目录
mkdir backup
chown -R rsync:rsync /backup/ 授权
6.重新启动服务并设置开机启动
systemctl restart rsyncd
systemctl enable rsyncd
7.测试服务
systemctl status rsyncd
ps axu|grep rsync