对于运维人员,数据备份是日常重要而又必须做的工作,选择一种好的备份软件效率会大大提升。rsync 就是一款功能强大,高效,安全,速度快的文件增量传输工具。

一 、什么是rync ?

1. rsync ----remote synchronize ,是一款实现远程同步功能的软件;

2.rsync使用“Rsync算法来同步文件,该算法只传送两个文件的不同部分,因此速度相当快;

3. 同步文件的同时,可以保持原来文件的权限、时间 和目录结构;

4.对于多个文件来说,内部流水线减少文件等待的延时;

5.rsync默认监听TCP 873端口,通过远程shell如rsh和ssh复制文件。同时要求必须在远程和本地系统上都安装sync.


二、 Rsync 安装

1. 下载Rysnc

目前Llinux各大发行版操作系统都已安装rsync ,可以通过rysnc --version查看当前版本,需要安装最新版本的,可到rysnc 的官方网站:http://rsync.samba.org/下载最新的版本,编译安装。


2. 安装Rsync

#yum install -y rsync ####yum 安装

编译安装:

#wget https://download.samba.org/pub/rsync/src/rsync-3.1.3.tar.gz
#tar -zxvf rsync-3.1.3.tar.gz
#cd rysnc-3.1.3
#./configure --prefix=/usr/local/rsync

#make && make install

rsync 安装完成,默认在/usr/local/rsync/bin下,配置后可以备份或者传输远程服务器数据。

注意:编译安装前得先安装gcc编译工具。

三、 配置 Rsync

1. 配置文件

rsync的主要有以下三个配置文件:

rsyncd.conf ----主配置文件,需要手动生成

rsyncd.secrets ----密码文件

rsyncd.motd ----rysnc服务器信息


2. rsync.conf 配置

例如:我们要备份服务器上的 /home/backup 目录,同时要把 /home 下的 file1 和 file2 目录排除在外

#vim /etc/rsyncd.conf

  rsyncd.conf   (rsync服务的主要配置文件,它控制rsync服务的各种属性,下面给出一个
rsyncd.conf文件的例子:
  1.   #先定义整体变量
  2.   secrets file = /etc/rsyncd.secrets
  3.   motd file = /etc/rsyncd.motd
  4.   read only = yes
  5.   list = yes
  6.   #uid = nobody
  7.   #gid = nobody
  8. uid = test #
  9. gid = test #
  10.   hosts allow = 172.25.0.110 #哪些电脑可以访问rsync服务
  11.   hosts deny = 172.25.0.0/24 #哪些电脑不可以访问rsync服务
  12.   max connections = 2
  13.   log file = /var/log/rsyncd.log
  14.   pid file = /var/run/rsyncd.pid
  15.   lock file = /var/run/rsync.lock
  16.   
  17. #再定义要rsync的目录
  18.   [backup]
  19.   path = /home/backup
  20. list=yes
  21. ignore errors
  22. auth users = test,backup
  23. comment = This is taranfly's Blog
  24. exclude = file1/ file2/

配置文件详细说明:

注释:

uid=nobody

进行同步或者备份的用户,nobody为任何用户

gid=nobody

进行备份的组,nobody为任意组

usechroot=no

如果"usechroot"指定为true,那么rsync在传输文件以前首先chroot到path参数所指定的目录下。这样做的原因是实现额外的安全防护,但是缺点是需要以root权限,并且不能备份指向外部的符号连接所指向的目录文件。默认情况下chroot值为true.但是一般不需要,选择no或false

list=no

不允许列清单

maxconnections=10

最大连接数

timeout=600

覆盖客户指定的IP超时时间,也就是说rsync服务器不会永远等待一个崩溃的客户端。

pidfile=/var/run/rsyncd.pid

pid文件的存放位置

lockfile=/var/run/rsync.lock

锁文件的存放位置

logfile=/var/log/rsyncd.log

日志文件的存放位置

[data]

这里是认证模块名,即跟samba语法一样,是对外公布的名字

path=/home/backup

这里是参与同步的目录

ignoreerrors

可以忽略一些无关的IO错误

readonly=no

允许可读可写

list=no

不允许列清单

hostsallow=192.168.1.0/255.255.255.0

这里可以指定单个IP,也可以指定整个网段,能提高安全性。格式是ip 与ip 之间、ip和网段之间、网段和网段之间要用空格隔开

authusers=test

认证的用户名

secretsfile=/etc/rsyncd.password

密码文件存放地址

*****************************************************************************************************************

注意:

1、[backup] 认证模块名和 path = /www/backup/ 参与同步的目录

这里的path 大家要记好了,这里不要随便的一设置就直接完事,要知道这里是认证模块的,以后从客户机备份的数据会存储在这里。

2、auth users = redhat 认证的用户名这个名字是服务器端实实在在存在用户,大家不要直接跟步骤走却忽略了这点。如果服务器端少了这个的话我估计你的数据同步就实现不了,大家要谨记。

*****************************************************************************************************************

3. 定义密码文件 :/etc/rsyncd.secrets
1. rsyncd.secrets是存储rsync服务的用户名和密码的,它是一个明文的文本文件,权限设为600,只有属主可以读写

更多相关文章

  1. debain 系统 ll 命令无法使用.目录和文件没有颜色区分解决之道
  2. 通过排除其父文件夹为多个目录创建单个tar文件
  3. find . -type f ! -name "*.o" 排除某类文件 排除多类文件 排除
  4. 来点基础的--诡异的极客们的符号--流、管道和文件的耦合
  5. Oracle:从SQL文件批量导入数据
  6. linux清空日志文件内容 比如log日志
  7. sql2008中如何收缩数据库日志文件
  8. sql2000 数据库文件突然丢失
  9. 关于NavicatPremium导入CSV文件乱码的问题

随机推荐

  1. Android Binder机制学习总结(二)-Driver
  2. Android C 语言读取系统属性
  3. Android ImageView实现上一页,下一页图片
  4. 在ListFragment中使用base-adapter
  5. 使用bitmap缩略图,解决图片大小超过预算的
  6. Android Activity四种加载方式
  7. android 学习之安装
  8. Android(安卓)databinding RecycleView i
  9. UI控件--ImageView和ImageButton
  10. 我对android的第一印象