一、实验环境
主机名 | 网卡ip | 默认网关 | 用途 |
nfs-server | 10.0.0.11 | 10.0.0.254 | rsync服务器端 |
web-client01 | 10.0.0.12 | 10.0.0.254 | rsync客服端 |
web-client02 | 10.0.0.13 | 10.0.0.254 | rsync客服端 |
二、实验步骤
1.什么是rsync?
rsync是一款开源的,快速的,多功能的可实现全量及增量的数据备份同步的优秀工具,适用于多种操作系统之上。2.rsync特性1)支持拷贝链接文件特殊文件2)可以排除文件或目录,类似打包命令tar的--exclude功能3)可实现增量和全量备份数据功能4)可以通过socket传输文件和数据3.rsync在企业中的应用 1)把所有客户服务器数据同步到备份服务器2)两台服务器之间定时同步数据3)实现多台服务器数据实时备份机制(rsync+inotify/rsync+sersync)生产场景集群架构服务器本分方案1)针对公司重要数据混乱状况和领导提出备份全网数据的方案2)通过本地打包备份,然后rsync+inotify/rsync+sersync把数据备份到一个固定的存储服务器上,然后在存储服务器上通过脚本检查并发送报警给管理员备份结果。 3)定期将IDE机房的数据备份到公司内部服务器上,防止机房火灾等不可抗因素。rsync命令: rsync [OPTION...] SRC... [DEST] -a:表示归档方式传输文件 -r:对子目录以递归模式(recursive) -v:详细模式输出 -z:在传输过程中压缩 -P:保持属性 --exclude:排除 --exclede-from:从什么什么排除 --bwlimit:限速 rsync -avz /etc/hosts /tmp ---类似拷贝(cp) rsync -r --delete /null/ /data/ ---类似删除(rm) Pull: rsync [OPTION...] [USER@]HOST:SRC... [DEST] Push: rsync [OPTION...] SRC... [USER@]HOST:DEST rsync -avzP -e 'ssh -p 22' /etc/hosts/ root@10.0.0.12:/tmp rsync -avzP -e 'ssh -p 22' chen@10.0.0.13:/data/ /tmp/chen 4.守护进程(socket)的方式传输数据1.1 服务端配置如下:1)检查是否安装rsync,没有可使用yum来安装 rpm -qa rsync yum -y install rsync 2)配置rsync配置文件 #Rsync server#created by chen 2016.6.9 ##rsyncd.conf start##uid = rsync gid = rsyncuse chroot = nomax connections = 2000timeout = 300pid file = /var/run/rsyncd.pidlock file = /var/run/rsync.locklog file = /var/log/rsyncd.logignore errorsread only = falselist = falsehosts allow = 10.0.0.0/24hosts deny = 0.0.0.0/32auth users = rsync_backupsecrets file = /etc/rsync.password#####################################[backup]comment = backup by chenpath = /backup#####################################3)创建用户和共享目录useradd rsync -s /sbin/nologin -M mkdir /backup chown -R rsync.rsync /backup 4)将密码文件写入到/etc/rsync.password,并授予权限echo "rsync_backup:chen">/etc/rsync.passwordchmod 600 /etc/rsync.password 5)启动rsync服务rsync --daemon 6)检查端口是否开启 netstat -tunpl |grep 873 lsof -i :8731.2 客服端配置如下:1)将密码文件写入到/etc/rsync.pasword echo "rsync_backup:chen" >/etc/rsync.pasword 2)进行远程数据同步测试,是否能实现pull/push功能 rsync -avz /tmp rsync_backup@10.0.0.11::backup --password-file=/etc/rsync.password rsync -avz rsync_backup@10.0.0.11::backup --password-file=/etc/rsync.password 注意:rsync数据的推拉只能在客服端执行5.客户端排除命令rsync -avz --exclude=a /data/ rsync_backup@10.0.0.11::backup --password-file=/etc/rsync.password rsync -avz --exclude={a..g} /data/ rsync_backup@10.0.0.11::backup --password-file=/etc/rsync.password 6.服务端排除命令将如下命令放在/etc/rsyncd.conf(不常用)exclude=a b /tmp/chen 7.无差异备份(谨慎使用,存在一定的风险操作,一般在两台服务器之间数据需必须一样的时候使用)rsync -avz --delete /tmp/ rsync_backup@10.0.0.11::backup --password-file=/etc/rsync.password rsync -avz --delete rsync_backup@10.0.0.11::backup /tmp --password-file=/etc/rsync.password 如需更详细步骤请点击: