1 、rsync介绍rsync是实现全量及增量的本地或远程数据镜像同步备份的工具 rsync常用命令参数命令参数 参数说明-a (--archive) 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于rtopgDl-v (--verbos ...
1 、rsync介绍
rsync是实现全量及增量的本地或远程数据镜像同步备份的工具
rsync常用命令参数
命令参数 参数说明-a (--archive) 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于rtopgDl-v (--verbose) 显示输出过程,传输时的进度等信息-z (--compress) 传输时进行压缩以提高传输效率--exclude=/etc/hosts 指定排除不需要传输的文件信息(和tar参数一样)--exclude-from=file 文件名所在的目录文件,可以实现排除多个文件(和 tar参数一样)--bwlimit=PATE limit I/O bandwidth;KBytes per second limit socket I/O bandwidth限速功能--delete 让目标目录和源目录数据一致,无差异同步数据
2、rsync特性
①支持拷贝特殊文件如软链接,设备等
②排除指定文件或目录同步的功能,相当于打包命令tar排除功能
③ 保持原文件或目录的权限、时间、硬链接、属主、组等属性不改变
④实现增量同步,只同步发生变化的数据,传输效率高
⑤可以使用rcp,rsh,ssh等方式来配合传输文件
⑥可以通过socket(进程方式)传输文件和数据
⑦支持匿名的认证进程模式传输,实现方便安全数据备份
3、rsync应用工作场景
①利用定时任务+rsync实现定时同步数据,主要同步的数据信息是网站内部人员使用的
②利用实时同步软件+rsync实现实时同步数据,主要同步的数据信息是网站用户上传的数据信息
4、rsync数据传输方式
①主机本地之间的数据传输(此时类似于cp命令的功能)
② 借助rcp,ssh等通道来传输数据(此时类似于scp命令的功能)
③以守护进程(socket)的方式传输数据(这个是rsync自身的重要的功能),重点掌握
5、rsync守护进程——服务端配置
1、查看系统是否安装rsync软件
rpm -qa rsyncrsync-3.0.6-12.el6.x86_64
2、rsync多模块主配置文件
cat >/etc/rsyncd.conf<<EOF#rsync server##created by yanxinjiang 2017-8-1##rsyncd.conf start##uid = rsyncgid = rsyncuse chroot = nomax connections = 200timeout = 300pid file = /var/run/rsyncd.pidlock file = /var/run/rsync.locklog file = /var/log/rsyncd.logignore errorsread only = falselist = falsehosts allow = 172.16.1.0/24hosts deny = 0.0.0.0/32auth users = rsync_backupsecrets file = /etc/rsync.password[backup]path = /backup[nfsbackup]path = /nfsbackupEOF
3、创建备份目录及授权管理用户
mkdir /backup -pchown -R rsync.rsync /backup/useradd rsync -s /sbin/nologin -M
4、创建rsync服务端与客户端身份认证文件
echo "rsync_backup:123456" >/etc/rsync.passwordchmod 600 /etc/rsync.password
5、启动rsync服务
[root@backup ~]# rsync --daemon[root@backup ~]# lsof -i:873COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMErsync 31209 root 3u IPv4 7505812 0t0 TCP *:rsync (LISTEN)rsync 31209 root 5u IPv6 7505813 0t0 TCP *:rsync (LISTEN)
6、rsync守护进程——客户端配置
1、创建客户端身份认证文件并授权
[root@nfs01 ~]# echo "123456" >/etc/rsync.password[root@nfs01 ~]# chmod 600 /etc/rsync.password
2、客户端测试rsync服务
[root@nfs01 ~]# rsync -avz /etc/hosts rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.passwordsending incremental file listsent 26 bytes received 8 bytes 3.24 bytes/sectotal size is 314 speedup is 9.24
3、rsync无差异数据同步
客户端推送
[root@nfs01 data]# ls /data/a b c d e f g pull.txt[root@nfs01 data]# rsync -avz /data --delete rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.passwordsending incremental file listdata/data/adata/bdata/c
服务端检查
[root@backup backup]# ls /backup/data/
a b c d e f g pull.txt
3、客户端推送遇到的问题
错误1[root@nfs01 ~]# rsync -avz /etc/hosts rsync_backup@172.16.1.41::backupPassword: @ERROR: auth failed on module backuprsync error: error starting client-server protocol (code 5) at main.c(1503) [sender=3.0.6]错误2[root@nfs01 tmp]# rsync -avz /etc/hosts rsync_backup@172.16.1.41::/backupERROR: The remote path must start with a module name not a /rsync error: error starting client-server protocol (code 5) at main.c(1503) [sender=3.0.6]错误3[root@nfs01 tmp]# rsync -avz /etc/hosts rsync_backup@172.16.1.41::backup@ERROR: Unknown module 'backup'rsync error: error starting client-server protocol (code 5) at main.c(1503) [sender=3.0.6]错误4[root@nfs01 tmp]# rsync -avz /etc/hosts rsync_backup@172.16.1.41::backupPassword: sending incremental file listhostsrsync: mkstemp ".hosts.5z3AOA" (in backup) failed: Permission denied (13)
4、错误总结
①密码输入错误,虚拟用户名错误
②secrets file = /etc/rsync.password指定的密码文件和实际密码文件名称不一致
③/etc/rsync.password文件权限不是600
④rsync_backup:123456密码配置文件后面注意不要有空格
⑤rsync客户端密码文件中只输入密码信息即可,不要输入虚拟认证用户名称
⑥推送时双冒号后面为模块名backup,而不是路径/backup
⑦telnet连接rsync服务ip地址873端口,查看服务是否启动 telnet 172.16.1.41 873
⑧共享目录的属主和属组不正确,不是rsync;共享目录的权限不正确,不是755
7、rsync客户端访问服务端原理
原标题:linux运维、架构之路
关键词:linux
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。