rsync数据同步、备份
定时:rsync +cron定时任务
实时:rsync +sersync(inotify)
https://www.samba.org/ftp/rsync/rsync.html 官方文档
远程拷贝 ssh带的scp命令(加密的拷贝)
本地拷贝 cp
删除功能 rm
Some of the additional features of rsync are: rsync额外特性support for copying links, devices, owners, groups, and permissions 支持拷贝特殊文件,如链接、设备等
exclude and exclude-from options similar to GNU tar 可以有排除指定文件或目录同步的功能,相当于打包命令tar的排除功能
a CVS exclude mode for ignoring the same files that CVS would ignore
can use any transparent remote shell, including ssh or rsh 可通过ssh、rsh加密传输(rsync不加密)
does not require super-user privileges
pipelining of file transfers to minimize latency costs
support for anonymous or authenticated rsync daemons (ideal for mirroring) 支持匿名或认证的进程模式传输
rsync可以是一个网络服务(port、socket)
rsync命令是客户端命令
第一种工作模式:local
rsync -avz /root/aaa /tmp/ --->cp rsync -avz --delete /root/aaa/ /tmp/ --->rm第二种工作模式:remote shell ,一般配合ssh、key免密钥传输,结合定时任务
rsync -avzP -e \'ssh -p 22\' /opt/ root@192.168.105.135:/tmp/ push rsync -avzP -e "ssh -p 22" root@192.168.105.135:/tmp/ /opt/ 带斜线代表获取的是tmp下的文件 pull rsync -avzP -e "ssh -p 22" root@192.168.105.135:/tmp /opt/ 不带斜线代表获取的是tmp这个目录 pull第三种工作模式:rsync daemon 内网不需要,加密性能有损失 vpn(pptp、openvpn,ipsec)
Pull: rsync [OPTION...] [USER@]HOST::SRC... [DEST] rsync [OPTION...] rsync://[USER@]HOST[:PORT]/SRC... [DEST] Push: rsync [OPTION...] SRC... [USER@]HOST::DEST rsync [OPTION...] SRC... rsync://[USER@]HOST[:PORT]/DEST关键语法说明:
1,-avz相当于-vzrtopgDl,表示同步时文件和目录属性不变。
2,-P显示同步的过程,可以用--progress替换
3,-e \'ssh -p 22\',表示通过ssh的通道传输数据,-p 22可省略
4,root@192.168.105.135:/tmp/ 远程的主机系统用户、地址、路径
5,/opt本地的路径
6,同步一个文件里有变化的内容部分,先比较再同步
-v --verbose 详细模式输出,传输时的进度等信息
-z --compress 传输时进行压缩以提高传输效率,--compress-level=NUM可按级别压缩
-a --archive 归档模式,表示以递归方式传播文件,并保持所有文档属性,相当于-rlptgoD
-r --recursive 对子目录以递归模式,即目录下的所有目录都同样传输
-t --times 保持稳健时间信息
-o --owner 保持文件属主信息
-p --perms 保持文件权限
-g --group 保持文件属组信息
-P --progress 显示同步的过程及传输时的进度等信息
-D --devices 保持设备文件信息
-l --links 保留软链接
--delete 无差异同步(危险)
--exclude 排除单个文件a
排除多个文件{a,b}、{a..d}
排除多个文件--exclude-from
--partial 大文件断点续传
--bwlimit --bwlimit=100限速
企业应用场景:
两台服务器之间数据同步
把所有客户端服务器数据同步到备份服务器
rsync结合inotify的功能做实时的数据同步rsync+inotify或sersync
生产场景集群架构服务器备份方案:cron+rsync 全网服务器数据备份解决方案提出及负责实施
针对公司重要数据备份混乱状况和领导提出备份全网数据的解决方案
通过本地打包备份,然后rsync结合inotify应用把全网数据统一备份到一个固定存储服务器,然后存储服务器上通过脚本检查并报警管理员备份结果
定期将IDC机房的数据备份到公司内部不同的服务器上,防止机房地震及火灾问题导致数据丢失
rsync优点:1,增量备份,支持socket(daemon),集中备份(支持推拉,都是以客户端为参照物)
2,远程shell通道模式还可以加密(ssh)传输,socket(daemon)需要加密传输,可以利用vpn服务或ipsec服务
大量小文件同步的时候,比对时间较长,有时候,rsync进程可能会终止