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

让目标目录SRC和源目录数据DST一致,无差异同步数据

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 rsync
rsync-3.0.-.el6.x86_64

2、rsync多模块主配置文件

cat >/etc/rsyncd.conf<<EOF
#rsync server#
#created by yanxinjiang -8-1
##rsyncd.conf start##
uid = rsync
gid = rsync
use chroot = no
max connections =
timeout =
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
ignore errors
read only = false
list = false
hosts allow = 172.16.1.0/
hosts deny = 0.0.0.0/
auth users = rsync_backup
secrets file = /etc/rsync.password
[backup]
path = /backup
[nfsbackup]
path = /nfsbackup
EOF

3、创建备份目录及授权管理用户

mkdir /backup -p
chown -R rsync.rsync /backup/
useradd rsync -s /sbin/nologin -M

4、创建rsync服务端与客户端身份认证文件

echo "rsync_backup:123456" >/etc/rsync.password
chmod /etc/rsync.password

5、启动rsync服务

[root@backup ~]# rsync --daemon
[root@backup ~]# lsof -i:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
rsync root 3u IPv4 0t0 TCP *:rsync (LISTEN)
rsync root 5u IPv6 0t0 TCP *:rsync (LISTEN)

6、rsync守护进程——客户端配置

1、创建客户端身份认证文件并授权

[root@nfs01 ~]# echo "" >/etc/rsync.password
[root@nfs01 ~]# chmod /etc/rsync.password

2、客户端测试rsync服务

[root@nfs01 ~]# rsync -avz /etc/hosts rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.password
sending incremental file list
sent bytes received bytes 3.24 bytes/sec
total size is 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.password
sending incremental file list
data/
data/a
data/b
data/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::backup
Password:
@ERROR: auth failed on module backup
rsync error: error starting client-server protocol (code ) at main.c() [sender=3.0.] 错误2
[root@nfs01 tmp]# rsync -avz /etc/hosts rsync_backup@172.16.1.41::/backup
ERROR: The remote path must start with a module name not a /
rsync error: error starting client-server protocol (code ) at main.c() [sender=3.0.] 错误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 ) at main.c() [sender=3.0.]
错误4
[root@nfs01 tmp]# rsync -avz /etc/hosts rsync_backup@172.16.1.41::backup
Password:
sending incremental file list
hosts
rsync: mkstemp ".hosts.5z3AOA" (in backup) failed: Permission denied ()

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运维、架构之路-rsync的更多相关文章

  1. linux运维架构师职业规划

    1.假如你从来未接触过Linux的话,首先要做的就找一本指导书来学习.现在公认的Linux的入门书籍是“鸟哥的私房菜”,讲的很全面,鸟哥的私房菜一共分为两部,一部是基础篇,一部是服务器篇.“鸟哥的私房 ...

  2. 从苦逼到牛逼,详解Linux运维工程师的打怪升级之路

    做运维也快四年多了,就像游戏打怪升级,升级后知识体系和运维体系也相对变化挺大,学习了很多新的知识点. 运维工程师是从一个呆逼进化为苦逼再成长为牛逼的过程,前提在于你要能忍能干能拼,还要具有敏锐的嗅觉感 ...

  3. Nginx+Lua+Redis整合实现高性能API接口 - 网站服务器 - LinuxTone | 运维专家网论坛 - 最棒的Linux运维与开源架构技术交流社区! - Powered by Discuz!

    Nginx+Lua+Redis整合实现高性能API接口 - 网站服务器 - LinuxTone | 运维专家网论坛 - 最棒的Linux运维与开源架构技术交流社区! - Powered by Disc ...

  4. Linux运维企业架构实战系列

    Linux运维企业架构项目实战系列 项目实战1-LNMP的搭建.nginx的ssl加密.权限控制的实现 项目实战2-LVS.nginx实现负载均衡系列 2.1 项目实战2.1-实现基于LVS负载均衡集 ...

  5. Linux运维企业架构项目实战系列

    Linux运维企业架构项目实战系列 项目实战1—LNMP的搭建.nginx的ssl加密.权限控制的实现 项目实战2—LVS.nginx实现负载均衡系列2.1 项目实战2.1—实现基于LVS负载均衡集群 ...

  6. Linux 运维入门到跑路书单推荐

    一.基础入门 <鸟哥的Linux私房菜基础学习篇>:最具知名度的Linux入门书<鸟哥的Linux私房菜基础学习篇>,全面而详细地介绍了Linux操作系统. https://b ...

  7. 从零起步做到Linux运维经理, 你必须管好的23个细节

    “不想成为将军的士兵,不是好士兵”-拿破仑 如何成为运维经理? 一般来说,运维经理大概有两种出身:一种是从底层最基础的维护做起,通过出色的维护工作,让公司领导对这个人非常认可,同时对Linux运维工作 ...

  8. linux运维工程师面试题收集

    面试必考 mysql5和mysql6 有什么区别 mysql-server-5.5:默认引擎改为Innodb,提高了性能和扩展性,提高实用性(中继日志自动恢复) mysql-server-5.6:In ...

  9. 从零起步做到Linux运维经理,你必须管好的23个细节

    不想成为将军的士兵,不是好士兵-拿破仑 如何成为运维经理?成为运维经理需要什么样的能力?我想很多运维工程师都会有这样的思考和问题. 如何成为运维经理.一般来说,运维经理大概有两种出身,一种是从底层最基 ...

  10. linux运维升级路线

    运维工程师是从一个呆逼进化为苦逼再成长为牛逼的过程,前提在于你要能忍能干能拼,还要具有敏锐的嗅觉感知前方潮流变化.如:今年大数据,人工智能比较火……(相对表示就是 Python 比较火) 之前写过运维 ...

随机推荐

  1. 有关LinkedList常用方法的源码解析

    上文里解析了有关ArrayList中的几个常用方法的源码——<有关ArrayList常用方法的源码解析>,本文将对LinkedList的常用方法做简要解析. LinkedList是基于链表 ...

  2. 小程序之发起请求 wx.request(object)的坑

    这是官方的API,然后官方的实例中 wx.request({ url: 'test.php', //仅为示例,并非真实的接口地址 data: { x: '' , y: '' }, header: { ...

  3. 持续集成篇-- SonarQube代码质量管理平台的安装

    视频教程:http://www.roncoo.com/course/view/85d6008fe77c4199b0cdd2885eaeee53 IP:192.168.4.221 环境:CentOS 6 ...

  4. if和for的几个经典题目

    1.有一对幼兔,幼兔1个月后长成小兔,小兔1个月后长成成兔并生下一对幼兔,问几年后有多少对兔子,幼兔.小兔.成兔对数分别是多少. 幼兔 1 小兔 0 成兔 0幼兔 0 小兔 1 成兔 0 幼兔 1 小 ...

  5. python实现希尔排序(已编程实现)

    希尔排序: 观察一下”插入排序“:其实不难发现她有个缺点: 如果当数据是”5, 4, 3, 2, 1“的时候,此时我们将“无序块”中的记录插入到“有序块”时,估计俺们要崩盘, 每次插入都要移动位置,此 ...

  6. Tomcat常用配置修改

    Tomcat常用配置修改 说明 运行需要设置环境变量 JAVA_HOME 即JDK安装目录 tomcat 默认登录地址 http://localhost:8080 配置tomcat 1.端口设置 打开 ...

  7. js-txt文本处理

    js-txt文本处理 写自己主页项目时所产生的小问题拿出来给大家分享分享,以此共勉. ---DanlV TextArea的换行符处理 TextArea文本转换为Html:写入数据库时使用 js获取了t ...

  8. 浅谈Ajax 异步的几点细节

    1.浏览器执行到Ajax代码的这行语句的时候,发出了一个HTTP请求,欲想请求服务器上的数据.服务器此时开始I/O,所谓的I/O就是磁盘的读写,需要花费一些时间,所以不会立即产生下行的HTTP报文: ...

  9. 常用精品API接口汇总

    下面列举了100多个国内常用API接口,并按照 笔记.出行.词典.电商.地图.电影.即时通讯.开发者网站.快递查询.旅游.社交.视频.天气.团队协作.图片与图像处理.外卖.消息推送.音乐.云.语义识别 ...

  10. springBoot基础系列--properties配置

    原创作品,可以转载,但是请标注出处地址:http://www.cnblogs.com/V1haoge/p/7183408.html SpringBoot中免除了大部分手动配置,但是对于一些特定的情况, ...