Rsync

rsync 简介
rsync(remote synchronize)是一个跨平台(有Windows版)远程数据同步工具,可通过 LAN/WAN 快速同步多台主机之间的文件。也可以使用 rsync 同步本地硬盘中的不同目录。
rsync优缺点:
优点:
增量备份,集中备份(支持推拉,都是已客户端为参照物)
缺点:
大量小文件同步时,比对时间较长,有时候rsync服务还会停止
同步大文件,10G这样的大文件有时也会有问题,中断。

rsync命令用法
rsync 选项 源目录 目标目录

rsync运行方式
1 本地文件系统上实现同步
rsync -avz /var/ /backup/
2 本地主机使用远程shell和远程主机通信
yum install openssh-clients -y
rsync -avz /etc/init.d/ root@192.168.56.9:/backup/ 推方式
rsync -avz root@192.168.56.9:/backup/ /backup/ 拉方式
指定ssh端口传输
rsync -avz /etc/init.d/ -e ‘ssh -p 3333’ root@192.168.56.9:/backup/
3 本地主机通过网络套接字连接远程主机上的rsync daemon

默认运行端口
873

rsync常用参数
-a 归档模式 包括 rlptogD
-v 显示同步过程详细信息
-z 传输过程中启用压缩
-r 递归,包括目录/子目录及所有文件
-l 保留符号链接文件
-p -t 保留文件的权限,时间标记
-o -g 保留文件的属主,属组标记
-D 保留设备文件及其他特殊文件
-P 保留那些因故没有完全传输的文件,以是加快随后的再次传输 在传输时显示传输过程
-H 保留硬连接文件
-A 保留文件的ACL属性信息
-n 测试同步过程,不做实际修改
–delete 删除目标文件夹内多余的文档,确保源和目标完全一致无差异同步
–exclude=xxx 不同步某某文件或路径 排除多个 --exclude={xx,yy}
–bwlimit=100 限速 100KBPS 单位是KB

安装与配置
守护进程方式
主机规划
backup服务端 192.168.56.9
client端(源数据端) 192.168.56.8
两边同时安装rsync
yum -y install rsync

backup服务端操作
创建同步账号
useradd rsync -s /sbin/nologin -M
创建存储目录
mkdir /backup
chown -R rsync.rsync /backup/

手动创建rsync配置文件
vim /etc/rsyncd.conf
uid = rsync //远端用户访问备份目录的账号为了安全不用root
gid = rsync //远端用户访问备份目录的组为了安全不用root
use chroot = no //不使用chroot
fake super = yes //将rsync虚拟用户伪装成为一个超级管理员用户
list = false //是否允许客户端查看所有模块
max connections = 1000 // 最大连接数为1000
strict modes = yes //是否检查口令文件的权限
timeout = 600 //超时时间
port = 873 //默认端口873
pid file = /var/run/rsyncd.pid //pid文件的存放位置 这三个文件如果没有可以手动创建
lock file = /var/run/rsync.lock //锁文件的存放位置
log file = /var/log/rsyncd.log //日志记录文件的存放位置
ignore errors //可以忽略一些无关的IO错误
hosts allow = 192.168.56.0/24 //允许主机
hosts deny = 0.0.0.0/32 //禁止主机 allow和deny留一个

[backup_server] #模块名
path = /backup #要同步备份的路径
comment = test #注释可不写
read only = no #只读
dont compress = *.gz *.bz2 *.zip *.tgz #不压缩哪些格式
auth users = test #虚拟用户 用于远程连接的账号密码
secrets file = /etc/rsync.password #账户文件位置

创建虚拟账户文件
格式: 用户名:密码
vim /etc/rsync.password
test:123

必须更改账号文件权限
chmod 600 /etc/rsync.password

启动并检查rsync
[root@tom01 backup]# rsync --daemon
注:如果手动创建的配置文件的名字不是rsyncd.conf启动的时候需要加参数
rsync --daemon --config=/配置文件的绝对路径
[root@tom01 backup]# lsof -i :873
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
rsync 1871 root 3u IPv4 25845 0t0 TCP *:rsync (LISTEN)
rsync 1871 root 5u IPv6 25846 0t0 TCP *:rsync (LISTEN)

加入开机自启动
echo “/usr/bin/rsync --daemon” >>/etc/rc.local

关闭rsync服务
pkill rsync

kill -9 `cat /var/run/rsyncd.pid` 

client端同步数据
rsync -avz /backup/ test@192.168.56.9::backup_server
注:backup_server为定义的模块名 不是backup服务端共享的目录名

客户端不需要密码同步数据
[root@tom01 backup]# vim /etc/rsync.password #新建一个密码文件,里面只写跟虚拟用户名对应的密码即可
123
[root@tom01 backup]# chmod 600 /etc/rsync.password
推送
[root@tom01 backup]# rsync -avz /backup/ gao@192.168.56.9::backup_server --password-file=/etc/rsync.password
拉取
[root@tom01 backup]# rsync -avz gao@192.168.56.9::backup_server /backup/ --password-file=/etc/rsync.password

如果rsync服务端使用了特定的端口,传输方式:
rsync -avz /backup/ rsync://gao@192.168.56.9:875/backup_server --password-file=/etc/rsync.password
rsync -avz --port=875 /backup/ gao@192.168.56.9::backup_server --password-file=/etc/rsync.password

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值