专用于对数据进行同步的
也可以应用于多台服务器之间进行数据同步或者数据迁移
优点:类似于复制命令,但是CP是全量复制命令,但是rsync是增量复制工具。
集中备份(支持推拉,都是以客户端作为参照)
增量复制:只复制没有的,忽略已有的
缺点:大量小文件同步的时候,比对时间比较长,同步过程中rsync进程可能会停止
同步大文件的时候有时也可能会中断,未完整同步前,文件是隐藏文件的形式,要手动删除
Scp:远程复制
Rsync企业中应用:在两台服务器之间进行数据同步(定时任务+备份数据)即crond+rsync
Rsync有三种模式
1相当于cp的当地同步
2相当于scp的远程同步
3守护进程模式
复制文件
复制目录
-a递归模式传输文件保持所有文件属性
-v 详细模式输出(显示交互信息)
-z 传输室进行压缩以提高传输效率
Rsync的实时同步还具有删除功能
让对方和自己保持一致
远程复制:scp /etc/hosts root@192.168.200.76:/root/
以超级用户的权限登录对方电脑,将自己的/etc/hosts发送到IP为192.168.200.76的服务器的/root下
scp root@192.168.200.76:/etc/hosts .
把对方的东西远程拿给自己
rsync -avz /opt/ root@192.168.200.76:/etc/hosts /delete
Rsync会将本地带宽占满,导致用户无法继续使用网络,需要加限速参数 rsync -avz --bwlimit=100
Rsync -avzP -e ‘ssh -p 22’ /etc/ root@192.168.200.76:/tmp/
当ssh端口被篡改时,强制使用22端口进行传输
安装rsync和openssh-clients软件包
工作中的数据传输
服务器集群:多台服务器构成。专门有一台服务器作为备份服务器,定时任务。定时将服务器的重要数据发送到备份服务器上,通过rsync实现。
所有数据发送到指定端口上
所有的所谓的服务都是程序
程序就有所谓的配置文件
运维通过修改配置文件来达到影响程序运行的目的
第一次搭建时是没有固定的配置文件需要创建
全局设置:
一般创建到/etc/rsyncd.conf
Use chroot:程序安全设置,安全模式下需要关闭
Max connection:最大连接数
Timeout:超时时间,如果在指定时间内服务端还没有把数据推送过来,就断开连接
Pid file:进程号文件路径
Lock file:进程锁,为避免文件运行时产生冲突
局部参数:
[backup]
Path:文件保存路径
Read only = false:取消只读,使其可以读写
List = false:阻止远程客户端发起查看本地数据的请求
Hosts allow/deny:允许/拒绝远程连接的IP
Auth:设置虚拟用户
Secrets file:设置密码文件
然后chmod 600给它
创建/backup数据目录
数据目录属主程序用户
创建rsync程序用户
启动rsync --daemon 端口873
在客户端创建一个密码文件
文件权限600
执行过程中,防火墙(iptables)和selinux都必须关闭,否则会导致873端口被堵