拓扑:
在服务端(bacakup服务器)操作:
1、安装rsync(一般是默认安装的)
yum install rsync -y
rsync --version
2、创建rsync用户和备份目录:
useradd -M -s /sbin/nologin rsync mkdir -p /backup chown -R rsync.rsync /backup ls -ld /backup
3、修改rsync.conf配置文件
# cp /etc/rsyncd.conf{,.ori} # vim /etc/rsyncd.conf
#this is cat's backup
fake super = yes uid = rsync gid = rsync use chroot = no max connections = 2000 timeout = 600 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/16 ##hosts deny = 0.0.0.0/32(deny拒绝) auth users = rsync_backup secrets file = /etc/rsync.password [backup] comment = by cat path = /backup
4、启服务
systemctl restart rsyncd
systemctl enable rsyncd
systemctl status rsyncd
5、查看进程和端口是否存活/监听
ps -ef | grep rsync | grep -v grep lsof -i :873
6、创建密码文件并赋权600
echo "rsync_backup:123456" >/etc/rsync.password chmod 600 /etc/rsync.password
在客户端操作(web01和nfs01)操作:
1、创建密码文件并赋权600
echo "rsync_backup:123456" >/etc/rsync.password chmod 600 /etc/rsync.password
2、测试(把 /etc/passwd 推到 backup服务器上)
rsync -avz /etc/passwd rsync_backup@176.16.1.41::data --password-file=/etc/rsync.password
去backup服务器查看是否推送成功:
ls /backup
概念解释:
什么是rsync:
rsync 是一个开源的、高速的、数据复制工具,默认端口873
官网资料:https://www.samba.org/ftp/rsync/rsync.html
rsync的作用:
定时/实时、远程备份
rsync有什么特性:
支持拷贝普通文件和特殊文件,eg:链接文件、设备文件等;
支持排除指定文件或目录同步的功能,相当于tar的排除功能;
可以做到保持源文件或目录的权限、时间、软硬链接、属主、属组等所有属性均不变;
可以实现增量复制,提高了数据传输效率;
可以使用rcp、rsh、ssh等方式组合进行隧道加密传输,要注意的是rsync本身不对数据进行加密;
可以通过socket(进程)传输文件和数据;
支持匿名或认证进程模式传输,并且该过程不需要系统用户的参与,安全的进行数据备份以及镜像备份。
rsync的三种工作模式:
1、本地模式 1.1 把数据从一个地方复制到另外一个地方,相当于cp命令 eg:# rsync /etc/hosts /opt 就相当于 # cp /etc/hosts /opt 1.2 通过参数可以实现数据的删除相当于rm # eg : # rsync -r --delete /null /opt #这里的null为空目录,效果为/opt目录被清空 1.3 查看文件属性,相当于ls -l eg:# rsync filename 2、远程shell模式 借助类似ssh隧道传输数据,适合不同服务器之间的复制 pull(拉):从远端拉取到本地;(类似于scp) 语法: #rsync 参数选项 认证用户@远程IP:源路径 本地路径 push(推):从本地推送至远端; 语法: #rsync 参数选项 本地路径 认证用户@远程IP:目标路径 3、rsync守护进程模式 首先要搭建rsync服务端(要有守护进程),然后才能在客户端实现推拉数据; 3.1 服务端启动守护进程; 3.2 push,pull操作都在客户端进行; 语法: pull #rsync 参数选项 虚拟用户@守护进程IP::模块名 本地路径 或 #rsync 参数选项 rsync://虚拟用户@守护进程IP/模块名 本地路径 push #rsync 参数选项 本地路径 虚拟用户@守护进程IP::模块名 或 #rsync 参数选项 本地路径 rsync://虚拟用户@守护进程IP/模块名
rsync命令参数:
-v 显示输出过程 -z 压缩 -a 多参数集合(相当于 -rtopgDl) -r 递归 -t 保留时间戳 -o 保持属主 -p 保持权限 -g 保持属组 -l 保持拷贝软链接 -q 不输出任何信息 --bwlimit=KBPS 限制I/O带宽,KBytes per second --delete 删除/清空 --exclude 排除 频繁使用组合: -avz/-vzrtopg