服务端配置(即备份服务器)
ps:客户端配置见下方
配置一个新服务的步骤:
第一步:先将该服务下载
yum install -y rsync
第二步:编写服务配置文件
配置文件:/etc/rsyncd.conf
vim /etc/rsyncd.conf
uid = rsync
gid = rsync
port = 873
fake super = yes
use chroot = no
max connections = 200
timeout = 300
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.1.0/24
hosts deny = 0.0.0.0/32
auth users = rsync_backup
secrets file = /etc/rsync.password
[backup]
comment = "backup dir by oldboy"
path = /backup
把文件原有内容删除将上面这段复制进去,这里我将每一行代表的意思解释一下:
uid:指定备份目录的属主信息。ps:这里如果不懂得话看完下面的解释就能理解
gid:指定备份目录的属组信息。
port:这个服务的端口号,就是指定什么端口连接
fake super:是否将rsync用户伪装成超级用户即root用户。因为rsync时普通用户有些操作无法进行所以fake super = yes就是伪装成超级用户来实现操作。
use chroot:和安全有关的参数,这里先填no,具体我现在也不太理解
max connections:最大连接数,允许最大多少用户使用。
timeout:在没有进行传输多长时间后将断开连接。ps:默认时间是秒
pid file :在服务运行时,文件内容即为服务进程号
lock file:结合max connections来控制最大连接数
log file:服务产生的信息文件,用来排查错误
ignore errors:忽略简单错误保证传输效率
read only:是否为只读。true为只读,false不只读
list:列表显示数据信息,这里建议写false,因为如果不写false,所有用户都可以查看到备份目录里都有什么,不安全
hosts allow:这是白名单,后面填写ip地址,只有写的ip地址可以和备份服务器进行备份,如果想让一个网段的ip都可以备份的话可以填172.16.1.0/24
hosts deny:这是黑名单,上面填写的ip地址为不能进行备份。
PS:这里有一点特别重要,白名单优先于黑名单,如果一个ip地址黑名单白名单都有的话,默认优先白名单,所以这个ip依旧可以进行备份
auth users:认证的用户,就是使用什么用户来进行备份
secrets file:认证用户密码文件所在绝对路径
[backup]:这个是模块,自定义,怎么写都可以,可以定义多个模块,每一个模块代表一个备份目录
comment :注释说明
path :后面写的是备份目录的绝对路径
第三步:创建备份目录并设置属主和属组
mkdir -p /backup 这创建的就是你配置文件中定义的目录
chown rsync.rsync /backup 这条命令就是将属主属组跟改成配置文件里面设置的属主和属组
第四步:创建虚拟用户rsync
useradd rsync -s /sbin/nologin -M 因为这里要创建虚拟用户,所以要知道什么是虚拟用户,虚拟用户就是不能登录且没有家目录的用户 -s是否可以登录系统 -M 用户是否创建家目录,这里先登录看看可不可以登录再去家目录看一下有没有rsync这个目录,
结果都没有那么rsync虚拟用户创建成功
第五步:将用户和密码放入密码文件里,并修改权限为600
echo "rsync_backup:oldboy123" >/etc/rsync.password 用这个命令可以将认证用户和设置的密码放入文件 rsync_backup 就是配置文件里的认证用户,后面的就是你自己设置的密码
chmod 600 /etc/rsync.password 这个命令可以将密码文件修改成600 为什么是600防止其他用户查看密码文件 为了安全
第六步:启动服务
systemctl restart rsyncd
客户端配置
第一步:安装服务
yum install -y rsync
第二步:创建密码文件并设置权限
echo "oldboy123">/etc/rsync.password 这个文件本来是不存在的所以需要创建,这条命令可以实现创建并输入信息。
chmod 600 /etc/rsync.password 同备份服务器一样 权限设置成600
第三步:启动服务
systemctl start rsync