Rsync远程同步的特性 增量复制
支持拷贝特殊文件
可以排除指定文件或目录同步的功能
可以做到保持源文件或目录的权限,时间,软硬连接,属主,属组等属性均不改变 相当于cp -p
可以实现增量同步,既只同步发生变化的数据,因此数据传输效率很高
可以使用rcp,rsh,ssh等方式来配合传输文件
可以通过socket(进程方式)传输文件和数据(服务端和客户端)
支持匿名的认证(无需系统用户)的进程模式传输,可实现方便安全的进行数据备份及镜像
Rsync工作方式
- 本地间类似cp命令的复制方式
- 网络间两台不同IP服务器间数据传输
- 以socket进程监听的方式启动rsync server端
监听873端口
–bwlimit=100 限速 工作中很重要
端口873
1.本地间
Rsync本地间数据同步,就相当于cp命令
单文件Rsync增量同步
rsync -avz 同步目录
a 归档模式,表示以递归方式传递文件
z 传输时进行压缩以提高传输效率
v 显示进度信息
–delet实时同步,完全同步
P保持所有属性不变
2.网络间
如何表示网络中其他服务器的登录地址
rsync -avz /root/benet root@192.168.200.103:/tmp/
对方登录账号@对方服务器IP地址:到对方服务器目标路径
需要安装远程连接支持插件包openssh-clients即scp命令
如没写对方账号默认root账号
-e ‘ssh -p 22’ 指定使用的协议和端口 不写默认ssh 22端口
–bwlimit=100 限速 工作中很重要
ssh配置文件 /etc/ssh/sshd_config
第13行 默认监听22端口
在13行下插入一行 port 1080 修改端口(不能修改1000以下的端口)
修改端口需要重启服务
service sshd restart
scp命令是远程复制命令 全量复制
scp -r benet root@192.168.200.162:/tmp/
scp root@192.168.200.162:/etc/hosts /root 拉取
ssh root@192.168.200.162 远程连接
部署rsync服务
一、服务端
- 确认是否安装rsync
- 配置rsyncd.conf /etc/rsyncd.conf
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/rsyncd.log
[backup]
path = /backup/
ignore errors
read only = false
list=false
hosts allow = 192.168.200.0/24
hosts deny = 0.0.0.0/32
auth users = rsync_backup
secrets file = /etc/rsync.password - 创建rsync程序用户,并创建/backup目录
useradd -M -s /sbin/nologin rsync - 将/backup目录属主属组改为rsync
chown rsync.rsync /backup - 启动服务
rsync --daemon
netstat -antup | grep rsync - 创建rsync虚拟账户用户名和密码
echo “rsync_backup:123456” > /etc/rsync.password - 将账号密码文件的权限设置为600(否则失败)
chmod 600 /etc/rsync.password - 加入开机启动
echo “rsync --daemon” >> /etc/rc.local
二、服务端
1.安装rsync
2.创建密码文件
echo “123456” > /etc/rsync.password
4. 将密码文件的权限设置为600(否则失败)
chmod 600 /etc/rsync.password
三、同步测试
rsync -avz /root/benet rsync_backup@192.168.200.162::backup --password-file=/etc/rsync.password