环境
服务端(linux7.5): 172.16.110.137
客户端(linux6.9): 172.16.110.134
客户端(windows): 192.168.14.160
目的:两个不同系统的客户端可以定时向服务端进行数据备份,数据恢复。
为了测试顺利 事先需要统一关闭防火墙和selinux
systemctl stop firewalld
setenforce 0
一,配置rsync服务端(无论客户端还是服务端都需要安装rsync)
1.1安装rsync
yum install -y rsync
1.2,安装完毕后就可以配置rsyncd.conf文件了
打开rsyncd.conf文件
vim /etc/rsyncd.conf
把现有的注释文件全部删掉并重新编写新的
uid = rsync
gid = rsync
port = 873
fake super = yes
use chroot = no
max connections = 200
timeout = 200
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
ignore errors
read only = false
list = false
hosts allow = 172.16.110.126/16,192.168.67.30/24
hosts deny = 0.0.0.0/32
auth users = rsync
secrets file = /etc/rsync.password
[backup]
comment = "backup dir by haha"
path = /etc/backup
PS:配置文件详解
1.3,需要创建一个管理备份目录的虚拟用户
useradd rsync -M -s /sbin/nologin
id useradd
1.4,根据配置文件里面的授权用户和密码路径的指定接下来就需要在etc目录下创建一个备份服务器认证密码文件了
echo "rsync:wang123" >/etc/rsync.password
cat /etc/rsync.password
加密rsync.password认证文件,只让属主可以查看
chmod 600 /etc/rsync.password
1.5,接下来根据配置文件 开始创建存放备份文件的文件夹
mkdir /etc/backup
此目录现有的属主属组是root 根据配置文件的设置 需要更改为刚刚创建的虚拟用户rsync
查看属主属组信息
ll /etc/backup -d
更改属主属组为rsync
chown rsync.rsync /ets/backup
1.6,根据配置文件 到这里基本上都已经配置完毕了,现在开始启动rsync服务端服务并且开机自动运行
启动rsync服务
systemctl start rsyncd
开机自启动
systemctl enable rsyncd
二,配置rsync(linux6.9)客户端
2.1,安装rsync
yum install -y rsync
2.2,
安装完成后进行一波备份测试
备份命令
rsync -avzP /etc/hosts rsync_backup@172.16.110.137::backup
测试到这里就算完成了,为了后续的能进行定时任务需要进行免密交互
在客户端上创建一个密码文件
echo “wang123” >/etc/rsync.password
加入属主才可以查看密码文件保障文件的安全
chmod 600 /etc/rsync.password
执行备份命令的时候 加上密码文件的路径,这样既可以不用输入密码也可以保障密码的安全
rsync -avzP --delete /etc/wangxiang rsync_backup@172.16.110.137::backup --password-file=/etc/rsync.password
命令解释:
**
rsync : 程序命令 avzP : 参数,avz代表详细的进行递增传输文件,P代表着传文件的进度
–delete: 在上传的时候文件会做对比,以源目录为准,如果不一样就执行删除命令,从而不会出现本地数据和备份数据不同的情况
/etc/wangxiang : 需要备份的目录
rsync_backup:服务端上配置文件里面的授权用户
@172.16.110.137:服务端地址
::backup:服务端配置文件里面的模块名字
–password-file=/etc/rsync.password:本地上存放的密码文件
**
后面就可以把命令直接加入到定时任务里面执行了!!!
三,配置rsync(Windows)客户端
下载客户端
https://www.itefix.net/cwrsync
下载完成后解压直接运行cwrsync.cmd 看到文件目录home里有本地的账户名即可
首先先进入安装客户端bin目录
cd D:\rsync客户端\bin
执行命令
rsync -avzdP --delete /cygdrive/d/123 rsync_backup@172.16.110.137::backup
此处同样会让你输入密码才能进行传输
在D盘创建一个密码文件名为rsync.password.txt
执行命令
rsync -avzdP --delete /cygdrive/d/123 rsync_backup@172.16.110.137::backup --password-file=/cygdrive/d/rsync客户端/rsync.password.txt
命令详解:
rsync : 程序命令 avzP : 参数,avz代表详细的进行递增传输文件,P代表着传文件的进度
–delete: 在上传的时候文件会做对比,以源目录为准,如果不一样就执行删除命令,从而不会出现本地数据和备份数据不同的情况
/cygdrive/d/123 : 需要备份目录
rsync_backup:服务端上配置文件里面的授权用户
@172.16.110.137:服务端地址
–password-file=/cygdrive/d/rsync客户端/rsync.password.txt :客户端本地的密码文件
/cygdrive :这个是windows上固定的开头路径
错误合集:
1,一下报的权限错误是因为你的SELINUX安全管理器没关掉,此错误出现在linux6.9的客户端上,关掉就好了
2,