需求:将客户端的数据备份到服务端
1.操作前准备
两台服务器一台客户端,一台服务端
服务端IP:172.16.1.41/24
客户端IP:172.16.1.201/24
2.安装服务软件(客户端和服务端)
如果没有安装请输入:yum install -y rsync
安装完检查输入:rpm -qa rsync
结果:rsync-3.1.2-4.el7.x86_64
启动服务:systemctl start rsyncd
开机自启:systemctl enable rsyncd
3.编辑服务配置文件(服务端)
vi /etc/rsyncd.conf
#rsync_config
#created by HQ at 2017
##rsyncd.conf start##
uid = rsync --- 虚拟用户rsync,管理备份目录 原理???
gid = rsync --- 虚拟用户组rsync,管理备份目录
port = 873 --- 服务默认端口号873
fake super = yes --- 伪装管理员功能开启 便于可以执行chgrp命令
use chroot = no --- 安全配置 !!!
max connections = 200 --- 最大连接数 同时支持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 --- 密码文件 用户密码信息 rsync_backup:oldboy123
[backup] --- 模块 名称
comment = "backup dir by oldboy"
path = /backup --- 定义一个备份目录
4.创建一个虚拟用户(服务端)
useradd rsync -M -s /sbin/nologin -----(用户名可以自定义)
5.创建密码文件并修改权限为600(服务端)
echo "rsync_backup:oldboy123" >/etc/rsync.password
chmod 600 /etc/rsync.password
6.创建备份目录/修改目录属主和属组信息(服务端)
mkdir /backup
chown rsync.rsync /backup
7.客户端备份存储测试(客户端)
rsync -avz /etc/hosts rsync_backup@172.16.1.41::backup
8.免交互传输数据,创建密码文件并修改权限(客户端)
echo oldboy123 >/etc/rsync.password
chmod 600 /etc/rsync.password
9.免交互传输数据测试
rsync -avz /etc/hosts rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.password
sending incremental file list
hosts
sent 102 bytes received 43 bytes 290.00 bytes/sec
total size is 10 speedup is 0.07