Rsync数据同步工具
rsync 的工作方式
1、单个主机本地之间的数据传输
本地的文件同步:rsync /etc/hosts /root
本地的目录同步:rsync -avz /root/mnt /tmp/ert
让目标文件同步到和源文件一致 :rsync -avz --delete /root/hut /tmp/ser
rsync 命令的参数选项:
-v :详细模式输出,传输时的进度等信息。
-a : 归档模式,表示以递归方式传输文件,并保存所有文件属性。
-z : 传输时进行压缩以提高传输效率。
--bwlimit : 限制传输时的带宽(带宽占满了,会导致用户无法访问网站),例如rsync -avz --bwlimit=100 ya 192.168.254.129:/backup/
2、借助rcp、ssh等通道来传输数据
推送:将当前主机内容推送到远程主机:
rsync -avz -e 'ssh -p 端口号' 源文件绝对路径 远程主机系统用户,ip地址:目标目录
拉取:将远程主机内容拉取到当前主机:
rsync -avz -e'ssh -p 端口号' 远程主机系统用户,ip地址,路径 本地路径
3、以守护进程的方式传输数据
操作过程:
一、服务端的主机预配置
1、yum -y install rsync
2、配置rsyncd.conf
cat > /etc/rsyncd.conf <<KOF
#用户
uid = rsync
#组
gid = rsync
#程序安全设置
use chroot = no
#客户端连接数
max connections = 200
#超过时间
timeout = 300
#进程号文件位置
pid file = /var/run/rsyncd.pid
#进程锁
lock file = /var/run/rsync.lock
#日志文件位置
log file = /var/log/rsync.log
#########################
[backup]
#使用目录
path = /backup/
#有错误时忽略
ignore errors
#可读可写
read only = false
#阻止远程列表
list = false
#允许ip
hosts allow = 192.168.254.0/24
#禁止ip
hosts deny = 0.0.0.0/32
#虚拟用户
auth users = rsync _backup
#存放用户和密码的文件
secrets file = /etc/rsync.password
2、创建共享目录及添加rsync程序用户
useradd -M -s /sbin/nologin rsync
#创建rsync用户
mkdir /backup
#创建共享目录
3、启动服务
rsync --daemon
netstat -atup | grep rsync
4、更改/backup目录属主rsync
chown rsync:rsync /backup
5、创建rsync虚拟账户名和密码
echo "rsync_backup:123456" >/etc/rsync.password
6、将账户密码为文件的权限设置为600(必须做否则失败)
chmod 600 /etc/rsync.password
接下来可以传输 : rsync -avz --delete /backup/ rsync_backup@192.168.254.129::backup --password-file=/etc/rsync.password
关闭rsync服务:pkill rsync
启动rsync服务:rsync --daemon
二、客户端的预配置
1、只需要创建密码文件
yum -y install rsync
touch /etc/rsync.password
echo "123456" > /etc/rsync.password
2、将密码文件的权限设置为600(必须否则失败)
chmod 600 /etc/rsync.password
rsync的优缺点
1、优点
增量备份,远程SHELL通道模式还可以加密传输
2、缺点
大量小文件同步的时候,比对时间长,rsync进程可能会僵死(所以要打成一个包再拷贝)。在一个在工作中,备份和拉取容易造成数据的丢失。
排错思想
1、部署流程步骤熟练
2、rsync原理理解
3、学会看日志,rsync命令行输出,日志文件/var/log/rsyncd.log
浙公网安备 33010602011771号