Rsync数据同步工具

什么是Rsync?

Rsync是一款开源的、快速的、多功能的,可以实现全量及增量的本地或原程数据同步备份的优秀工具。Rsync软件适用于unix/linux/windows等多种操作系统平台。

Rsync还可以实现删除文件和目录的功能。

Rsync相当于scp,cp ,rm.但是还优于他们每一个命令。

Rsync的特性;

1、支持拷贝特殊文件如链接文件,设备等。

2、可以有排除(tar? find?)指定文件或目录同步的功能,相当于打包命令tar的排除功能。

3、可以做到保持源文件和目录的权限,时间,软硬链接,属主,组等属性均不变-P

4、可以实现增量同步,既只同步发生变化的数据,因此数据传输效率很高(tar-N)

5、可以使用rcp,rsh,ssh等方式来配合传输文件(rsync本身不对数据加密)

6、可以通过socket(进程方式)传输文件和数据(服务端和客户端)

7、支持匿名的认证(无需系统用户)的进程模式传输,可实现方便安全的进程数据备份级镜像。

Rsync的工作方式?

三大类

1、单个主机本地之间的数据传输(此时类似于cp命令的功能)

2、借助rcp,ssh等通道来传输数据(此时类似于scp命令的功能)

3、以守护进程(socket)的方式传输数据(这个是rsync自身的重要功能)

Rsync 命令常用参数

-V,--verbose详细模式输出,传输时的进度等信息

-z,  --compress传输时进行压缩以提高传输效率,--compress-level=NUM可按级别压缩。

-a,--archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rtopgD1

-r,--recursive 对子目录以递归模式,即目录下的所有目录都同样传输,注意是小写r

-o,--owner 保持文件属主信息

-p,--perms 保持文件·权限

-g ,--group 保持文件属组信息

-p ,--progress 显示同步的过程及传输时的进度等信息

-D,--devices保存设备文件信息

-l,--links 保留软链接

-e,--rsh=COMMAND 使用的信道协议(remote shell),指定替代rsh的shell程序。例如:ssh --exclude=PATTERN 指定排除不需要传输的文件模式(和tar参数一样)

 

--bwlimit=RATE limit socket I/O bandwidth
--delete 让源目录SRC和目标目录数据DST一致

Rsync缺点;1,大量小文件时候同步的时候,比队时间较长,有时候,同步过程中,rsync进程可能会停止,僵死了。
2、同步大文件,10G这样的大文件有时候也会出问题,中断。未完整同步前,是银川文件,可以通过续传(--partial)等参数实现传输。

3、一次性远程拷贝可以用scp,大量小文件要打成一个包在拷贝。

Rsync优点;

1、增量备份,支持socket(daemon),集中备份(支持推拉,都是以客户端为参照物)。

2、远程SHELL通道模式还可以加密(SSH)传输,socket(daemon)需要加密传输,可以利用vpn服务或ipsec服务。

Rsync服务端排错思路

查看rsync服务配置文件路径是否正确,正确的默认路径为:/etc/rsyncd.conf

查看配置文件里host allow,host deny,允许的IP网段是否是允许客户端访问的ip网段

查看配置文件中path参数里的路径是否存在,权限是否正确(正常应为配置文件中断UID参数对应的属主和组)

参看rsync服务是否启动的命令为:ps-ef | grep rsync

端口是否存在netstat -antup | grep 873

查看iptables 防火墙和selinux是否开启允许rsync服务通过,也可以考虑关闭。

查看服务端rsync配置的密码文件是否为60的权限,密码文件格式是否正确,正确格式为;用户名: 密码,文件路径和配置文件里的secrect files参数对应。

如果是推送数据,要查看下,配置rsyncd.conf文件中用户是否对模块下目录有可读写的权限。

第一步;创建程序用户

useradd -M -s /sbin/nologin

第二步;创建共享目录

mkdir /backup

第三步;可以在rsync里写

chown rsync /backup

第四步:vim /etc/rsync.passwrod

进入里面创建虚拟账号和密码

rsync_backup:123456

将文件账户密码权限设为600(安全措施)

chmod 600 /etc/rsync.password

启动服务

rsync --daemon

监听873端口12

ss (netstat) -antup | grep  rsync

手动模式推;

rsync -avz /benet/ rsync_backup@192.168.81.128::backup

输入密码(交互文件直接传输)

rsync -avz /benet/ rsync_backup@192.168.81.128::backup --password file=/etc/rsync.password

防火墙的规则;

1、service iptable start

2、service iptable stop

3、netstat -antup | grep sshd

 

最新文章

  1. 设置 iOS 应用的图标和名称
  2. linux各目录的作用
  3. JS原型-语法甘露
  4. NSFileManager 沙盒文件管理
  5. C#.net调用axis2webService
  6. ANDROID_MARS学习笔记_S01原始版_023_MP3PLAYER005_用广播BroacastReciever实现后台播放不更新歌词
  7. RecyclerView实现瀑布流效果(图文详解+源码奉送)
  8. 兔子--Android中的五大布局
  9. 解决:sudo: parse error in /etc/sudoers near line 24 ...报错
  10. sql分隔字符串数组
  11. ural1519插头DP
  12. 神经网络与深度学习笔记 Chapter 3.
  13. iOS UITableView左滑操作功能的实现(iOS8-11)
  14. tkinter中布局pack、place和grid(八)
  15. EOF输入
  16. poj 1426 Find The Multiple (简单搜索dfs)
  17. springboot+thymeleaf+springbootJPA实现一个简单的增删改查
  18. 自己动手实现JDK动态代理
  19. 卓越的目标检测器Pelee
  20. C++ code:指针类型(pointer types)

热门文章

  1. 清除代码中的svn文件。
  2. 反转链表II(根据指定的索引,逆转链表)
  3. 1、python基础
  4. 【Codeforces】【图论】【数量】【哈密顿路径】Fake bullions (CodeForces - 804F)
  5. vue_过滤器: 对要显示的数据进行特定格式化后再显示
  6. element 如何自定义主题
  7. Apache Flink系列(1)-概述
  8. popwindow+动画
  9. F#周报2019年第10期
  10. CentOS7安装MySQL并允许远程登录