#rsync备份
虚拟机准备
修改主机名称
服务端:backup
客户端:nfs
关闭防火墙、selinux、networkmanger
systemctl stop firewalld
systemctl disable firewalld
sed -i '7c SELINUX=disabled' /etc/selinux/config
setenforce 0
修改默认yum源、安装常用软件、修改文件最大描述符
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum -y install net-tools vim tree lrzsz wget unzip telnet bash-completion bash-completion-extra
vi /etc/security/limits.conf
--- * soft nofile 102400
--- * hard nofile 104800
增加内网卡、修改IP地址
backup:10.0.0.41/172.168.1.41
nfs:10.0.0.31/172.168.1.31
cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth1
sed -i 's#200#41#g' /etc/sysconfig/network-scripts/ifcfg-eth{0,1}
三种传输方式
本地传输
rsync -avz+源文件/目录+目标位置
rsync -avz file.txt /opt
rsync -avz /etc /opt
远程传输
服务器拉取数据:rsync -avz+客户端地址+源文件+本地存放位置
rsync -avz 172.16.1.31:/etc/hosts /opt
服务器推送数据:rsync -avz+源文件+客户端地址+客户端存放位置
rsync -avz test 172.16.1.31:/root
守护进程模式
安装rsync
yum -y install rsync
服务器修改rsync配置文件
vim /etc/rsyncd.conf
uid = rsync # 运行进程的用户
gid = rsync # 运行进程的用户组
port = 873 # 监听端口
fake super = yes # 无需让rsync以root身份运行,允许接收文件的完整属性
use chroot = no # 禁锢推送的数据至某个目录, 不允许跳出该目录
max connections = 200 # 最大连接数
timeout = 600 # 超时时间
ignore errors # 忽略错误信息
read only = false # 对备份数据可读写
list = false # 不允许查看模块信息
auth users = rsync_backup # 定义虚拟用户,作为连接认证用户
secrets file = /etc/rsync.passwd # 定义rsync服务用户连接认证密码文件路径
[backup] # 定义模块信息
comment = commit # 模块注释信息
path = /backup # 定义接收备份数据目录
backup服务端操作
1.创建虚拟用户rsync
useradd -M -s /sbin/nologin rsync
2.创建密码文件并修改权限为600
cat /etc/rsync.passwd
rsync_backup:123456
chmod 600 /etc/rsync.passwd
3.创建目录并修改属主属组
mkdir /backup
chown -R rsync.rsync /backup/
4.启动rsync服务
systemctl start rsyncd
systemctl enable rsyncd
nfs客户端操作
配置密码文件并修改权限为600
5.操作
ps:密码也可以直接使用内置变量
[root@nfs ~]# export RSYNC_PASSWORD=123456
[root@nfs ~]# rsync -avz /etc/passwd rsync_backup@172.16.1.41::backup
无差异数据同步
1.以本地数据为准进行同步
服务端数据以本地数据为准同步
rsync -avz --delete test/ rsync_backup@172.16.1.41::backup
2.以服务端数据为准进行同步
本地数据以服务端数据为准同步
rsync -avz --delete rsync_backup@172.16.1.41::backup test/
limit限速,以M为单位
rsync -avzP --bwlimit=1 1.txt rsync_backup@172.16.1.41::backup