准备两台主机:
#关闭防火墙和selinux
#默认端口是 873
backup:192.168.92.10
client:192.168.92.102
安装rsync服务
[root@backup ~]# yum -y install rsync
[root@client ~]# yum -y install rsync
将backup主机作为备份机
1、 修改rsync配置文件
vim /etc/rsyncd.conf
# configuration example:
# 全局参数模块
uid = rsync
# 指定文件传输守护进程的uid
gid = rsync
# 指定文件传输守护进程的pid
# configuration example:
# 全局参数模块
uid = rsync
# 指定文件传输守护进程的uid
gid = rsync
# 指定文件传输守护进程的pid
use chroot = no
# 不限制源目录
max connections = 0
# 连接限制0为不限制
timeout = 300
# 超时时间,单位是秒
#pid file = /var/run/rsync.pid
## pid文件,这里禁用掉以免重复
lock file = /var/run/rsync.lock
# 锁文件,防止文件不一致
log file = /var/log/rsyncd.log
# 日志文件# 模块参数模块
# 当全局与模块参数冲突时,模块参数 大于 全局参数
[backup]
# 模块名称,相当于路径的/目录
path = /backup
# 服务器提供的访问的目录
momment = module
# 对模块的描述
ignore errors
# 忽略错误
read only = no
# 可写
exclude = lost+found/
# 排除文件,由空格隔开文件或者目录
hosts allow = 192.168.92.0/24
# 多个IP地址或网段需要用空格隔开
fake super = yes
# 不用root身份也可以存储完整的数据以及数据属性
2、 创建虚拟用户rsync_backup
[root@backup backup]# useradd -M -s /sbin/nologin rsync_backup
3、 创建备份目录 /backup,并修改目录权限为 rsync_backup
mkdir /backup chown rsync_backup.rsync_backup /backup
4、 创建用户账号密码文件,并授权
vim /etc/rsync.password
rsync_backup:123456
[root@backup ~]# chmod 600 /etc/rsync.password
5、 启动rsyncd服务,并查看日志文件信息
[root@backup log]# tail /var/log/rsyncd.log 2023/03/19 01:55:02 [2729]
rsyncd version 3.1.2 starting, listening on port 873 2023/03/19
01:57:29 [2729] sent 0 bytes received 0 bytes total size 0
2023/03/19 01:57:29 [2776] rsyncd version 3.1.2 starting, listening on
port 873
#日志没有报异常,就代表正常启动
在client主机创建/backup目录,并创建测试文件来测试
[root@client ~]# mkdir backup
[root@client ~]# cd backup
[root@client backup]# touch stu{1..100}
创建rsync_backup密码文件,并授权
[root@client backup]# echo "123456" > /etc/rsync.password
[root@client backup]# chmod 600 /etc/rsync.password
实验开始,将client主机上 /backup 下面的文件同步到 backup主机的/backup目录下
[root@client backup]# rsync -avz /backup/
rsync_backup@192.168.92.10::backup/ --password-file=/etc/rsync.password
在backup主机上验证一下:
成功同步了
下面来做几个实验:
实验一:镜像同步
#将 client /backup 目录镜像同步到 backup主机的 /backup目录,镜像同步会使目标文件和源文件保持一次,当目录文件有其他文件时,会被删除;如果是目录文件则不会删除
#在backup上面有一个111文件,看看镜像同步的时候会不会将这个文件删除
--delete
`[root@client backup]# rsync -avz --delete rsync_backup@192.168.92.10::backup/ --password-file=/etc/rsync.passwor`d
实验二:增量同步
[root@client backup]# touch test{1..100}
[root@client backup]# rsync -avz /backup/ rsync_backup@192.168.92.10::backup/ --password-file=/etc/rsync.password
#只需要将文件送到backup主机对应目录即可,rsync会自动增量同步的
参考:
Centos 7系统rsync远程同步
rsync远程同步
rsync 用法教程
rsync增量备份