博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
rsync使用详解
阅读量:5329 次
发布时间:2019-06-14

本文共 3737 字,大约阅读时间需要 12 分钟。

1.rsync本地模式及参数总结

本地拷贝,相当于cp-e,使用通道协议;-v,--verbose详细模式输出;-z,--compress传输时进行压缩以提高传输效率;-a,--archive归档模式,以递归方式传输文件,并保持所有文件属性,相当于-rtopgD-r,--recursive对子目录以递归模式;-o,--owner保持文件属主;-p,--perms保持文件权限;-g,--group包吃文件属组信息;--exclude=PATTERN,指定排除不需要传输的文件模式;--exclude-from=file--bwlimit=RATE--delete,让目标目录和源目录数据一致.rsync -avz /etc/hosts* /mnt/# /tmp1/是一个空目录,下面命令会导致清空/mnt目录rsync -avz --delete /tmp1/ /mnt/# 下面两条命令的执行结果是不一样的,带斜线是只拷贝目录中的文件,# 不带斜线是将目录和文件一起拷贝到目标目录rsync -avz  /tmp1/ /mnt/rsync -avz  /tmp1 /mnt/

2.rsync实现不同主机拷贝数据

2.rsync实现不同主机拷贝数据rsync -az /etc/hosts* -e 'ssh -p 22' root@10.0.0.31:/mnt# 会出现解析慢的情况Address 10.0.0.31 maps to localhost, but this does not map back to the address - POSSIBLE BREAK-IN ATTEMPT!# 修改目标主机的ssh配置文件vi /etc/ssh/sshd_configGSSAPIAuthentication noUseDNS no

3.服务器端、客户端的操作和配置

服务器端

vim /etc/rsyncd.conf# uid是运行进程的用户,客户端通过验证后使用rsync用户访问共享目录,# 默认是nobody,用默认也行,系统安装完之后,是存在这个用户的uid = rsyncgid = rsyncuse chroot = nomax connections = 200timeout = 300pid file = /var/run/rsyncd.pidlock file = /var/run/rsyncd.locklog file = /var/log/rsyncd.log[backup]path = /backupignore errorsread only = falselist = falsehosts allow = 172.16.1.0/24# hosts deny = 0.0.0.0/32  二选一auth users = rsync_backup  # 独立于系统账号之外的虚拟用户secrets file = /etc/rsync.password# auth users在man手册中有说明:This usernames do not need to exists on the local system.# 该文件中的用户名作用:验证客户端是否有资格登录服务器端vi /etc/rsync.passwordrsync_backup:oldboyuseradd -M -s /sbin/nologin rsyncmkdir /backupls -ld /backupdrwxr-xr-x 2 root root 4096 Nov 26 00:38 /backup# 如果这个目录的权限不是rsync而是root,# 那么客户端通过验证之后以rsync用户访问该目录就会没有权限chown rsync.rsync /backup/  drwxr-xr-x 2 rsync rsync 4096 Nov 26 00:38 /backupchmod 600 /etc/rsync.password  # 必须修改权限rsync --daemonecho "/usr/bin/rsync --daemon" >> /etc/rc.local

客户端

客户端密码文件中只有密码

vi /etc/rsync.passwordoldboychmod 600 /etc/rsync.password如果没有缩小权限,那么还是会让你输入密码:password file must not be other-accessiblecontinuing without password filePassword:

客户端的拉取(pull)和推送(push)

推送:rsync -avz /backup/ rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.passwordrsync -avz /backup/ rsync://rsync_backup@172.16.1.41/backup/ --password-file=/etc/rsync.password 拉取:rsync -avz rsync_backup@172.16.1.41::backup /backup/ --password-file=/etc/rsync.passwordrsync -avz rsync://rsync_backup@172.16.1.41/backup/  /backup/ --password-file=/etc/rsync.password 提示:上述的backup是模块名,不是路径

4.多模块配置

cp /etc/rsyncd.conf{,.bak}mkdir -p /data/{nginx,mysql}chown -R rsync.rsync /data/vi /etc/rsyncd.confuid = rsyncgid = rsyncuse chroot = nomax connections = 200timeout = 300pid file = /var/run/rsyncd.pidlock file = /var/run/rsyncd.locklog file = /var/log/rsyncd.logignore errorsread only = falselist = falsehosts allow = 172.16.1.0/24# hosts deny = 0.0.0.0/32auth users = rsync_backupsecrets file = /etc/rsync.password[web]path = /data/nginx[mysql]path = /data/mysql客户端命令:rsync -avz /backup/ rsync_backup@172.16.1.41::web --password-file=/etc/rsync.passwordrsync -avz /backup/ rsync_backup@172.16.1.41::mysql --password-file=/etc/rsync.password

5.排除及无差异同步

# 排除单个文件rsync -avz --exclude=stu01 /backup/ rsync_backup@172.16.1.41::mysql --password-file=/etc/rsync.password# 排除多个文件,一般用来排除日志rsync -avz --exclude={stu01,stu02} /backup/ rsync_backup@172.16.1.41::mysql --password-file=/etc/rsync.passwordtouch {01..10}.logrsync -avz --exclude=*.log /backup/ rsync_backup@172.16.1.41::mysql --password-file=/etc/rsync.password# 如果文件名连续的话可以这样rsync -avz --exclude={01..10}.log /backup/ rsync_backup@172.16.1.41::web --password-file=/etc/rsync.password# 无差异同步,即:使用参数--delete# 让服务器端和客户端保持一模一样,但实际情况是服务器端保存着远多于客户端的数据,所以此参数慎用.优点:增量备份,利用通道模式可以ssh加密传输;缺点:大量小文件同步时间可能较长,进程可能会停止,较大文件可能会中断.

 

参考博客-rsync搭建:https://www.cnblogs.com/wenxinphp/p/5800446.html

转载于:https://www.cnblogs.com/fawaikuangtu123/p/10020283.html

你可能感兴趣的文章
传值调用与引用调用
查看>>
JZOJ 5922. sequence
查看>>
Object-C Xcode 编译提示 note: please rebuild precompiled header ZWYLPrefixHeader
查看>>
使用InternetGetConnectedState判断本地网络状态(C#举例)
查看>>
ios 读取通讯录数据
查看>>
Shapley值的一个应用
查看>>
遍历父视图上的button
查看>>
Tomcat安装后,远程IP无法访问的问题。
查看>>
在Ubuntu11.10中如何将“打开终端”添加进右击菜单选项中
查看>>
区分Activity的四种加载模式
查看>>
锁的阻塞,死锁,锁升级
查看>>
JZOJ #4711 Binary (按位操作 + 树状数组)
查看>>
IA-32 保护模式 实模式
查看>>
java.lang.RuntimeException: Annotation processors must be explicitly declared now.
查看>>
自定义类加载器深入详解
查看>>
为什么有时候修改了css文件,页面的样式却没有改变?
查看>>
QuantLib 金融计算——数学工具之优化器
查看>>
Mysql基础知识--触发器
查看>>
ORM篇——有关NHibernate查询封装
查看>>
微信sdk分享功能详解
查看>>