Linux下文件同步、备份神器之-------rsync
对于运维人员,数据备份是日常重要而又必须做的工作,选择一种好的备份软件效率会大大提升。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 安装
编译安装:
#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文件的例子:
- #先定义整体变量
- secrets file = /etc/rsyncd.secrets
- motd file = /etc/rsyncd.motd
- read only = yes
- list = yes
- #uid = nobody
- #gid = nobody
- uid = test #
- gid = test #
- hosts allow = 172.25.0.110 #哪些电脑可以访问rsync服务
- hosts deny = 172.25.0.0/24 #哪些电脑不可以访问rsync服务
- max connections = 2
- log file = /var/log/rsyncd.log
- pid file = /var/run/rsyncd.pid
- lock file = /var/run/rsync.lock
- #再定义要rsync的目录
- [backup]
- path = /home/backup
- list=yes
- ignore errors
- auth users = test,backup
- comment = This is taranfly's Blog
- 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,只有属主可以读写更多相关文章
- debain 系统 ll 命令无法使用.目录和文件没有颜色区分解决之道
- 通过排除其父文件夹为多个目录创建单个tar文件
- find . -type f ! -name "*.o" 排除某类文件 排除多类文件 排除
- 来点基础的--诡异的极客们的符号--流、管道和文件的耦合
- Oracle:从SQL文件批量导入数据
- linux清空日志文件内容 比如log日志
- sql2008中如何收缩数据库日志文件
- sql2000 数据库文件突然丢失
- 关于NavicatPremium导入CSV文件乱码的问题