rsync的安装配置

简介linux

rsync(remote sync)是类unix系统下的数据镜像备份工具。它的特性以下:vim

  1. 能够镜像保存整个目录树和文件系统。
  2. 能够很容易作到保持原来文件的权限、时间、软硬连接等等。
  3. 无须特殊权限便可安装。
  4. 快速:第一次同步时 rsync 会复制所有内容,但在下一次只传输修改过的文件。rsync 在传输数据的过程当中能够实行压缩及解压缩操做,所以可使用更少的带宽。
  5. 安全:可使用scp、ssh等方式来传输文件,固然也能够经过直接的socket链接。
  6. 支持匿名传输,以方便进行网站镜象。

安装安全

在RedHat中,rsync是默认安装的。可经过命令行检查是否安装bash

[root@linuxprobe ~]# rpm -q rsync
rsync-3.0.4-2.47.28

配置rsync server服务器

1.  修改rsync的配置文件,将disable从"yes"改为"no"ssh

[root@linuxprobe ~]# vi /etc/xinetd.d/rsync
service rsync
{
        disable = no
        socket_type     = stream
        wait            = no
        user            = root
        server          = /usr/bin/rsync
        server_args     = --daemon
        log_on_failure  += USERID
}

设置开机启动RSYNCsocket

[root@linuxprobe ~]# chkconfig rsync on

2.  配置/etc/rsyncd.conf(须要手动生成)tcp

全局参数工具

uid = root           //运行RSYNC守护进程的用户
gid = root                //运行RSYNC守护进程的组
use chroot = no           //不使用chroot
max connections = 4       // 最大链接数为4
strict modes =yes         //是否检查口令文件的权限
port = 873                //默认端口873

模块参数网站

[backup]       //这里是认证的模块名,在client端须要指定
path = /home/backup/     //须要作镜像的目录,不可缺乏!
comment = This is a test      //这个模块的注释信息
ignore errors        //能够忽略一些无关的IO错误
read only = yes       // 只读
list = no        //不容许列文件
auth users = linuxprobe        //认证的用户名,若是没有这行则代表是匿名,此用户与系统无关
secrets file = /etc/rsync.pas        //密码和用户名对比表,密码文件本身生成
hosts allow = 192.168.1.1,10.10.10.10        //容许主机
hosts deny = 0.0.0.0/0       //禁止主机
#transfer logging = yes
注释:下面这些文件是安装完RSYNC服务后自动生成的文件
pid file = /var/run/rsyncd.pid     //pid文件的存放位置
lock file = /var/run/rsync.lock    //锁文件的存放位置
log file = /var/log/rsyncd.log     //日志记录文件的存放位置

3.  配置rsync密码

(1) 建立密码文件(文件即上述配置文件中的secrets file = /etc/rsync.pas)

[root@linuxprobe ~]# vim /etc/rsync.pas
linuxprobe:password  //帐号:密码,一行一个用户

(2) 修改密码文件的权限为600

[root@linuxprobe ~]# chown root.root /etc/rsync.pas 
[root@linuxprobe ~]# chmod 600 /etc/rsync.pas

4.  设置欢迎信息/etc/rsyncd.motd(无关紧要)
rsyncd.motd记录了rsync服务的欢迎信息,你能够在其中输入任何文本信息,如:

[root@linuxprobe ~]# vim /etc/rsyncd.motd
Welcome to use the rsync services!

5.  生效配置

[root@linuxprobe ~]# service xinetd restart

启动rsync server

1. RSYNC服务端启动的两种方法
(1) 启动rsync服务端(独立启动)

[root@linuxprobe ~]#/usr/bin/rsync –daemon

(2) 启动rsync服务端 (有xinetd超级进程启动)

[root@linuxprobe ~]# /etc/rc.d/init.d/xinetd reload

2. 加入rc.local

在各类操做系统中,rc文件存放位置不尽相同,能够修改使系统启动时把rsync --daemon加载进去。

[root@linuxprobe ~]# vim /etc/rc.local
加入一行/usr/bin/rsync --daemon

3. 检查rsync是否启动

若输出显示state为LISTEN,表示为等待接受连接的状态,说明rsync已经启动。

[root@linuxprobe ~]# netstat -a | grep rsync
   tcp        0      0 0.0.0.0:873                 0.0.0.0:*                   LISTEN

配置rsync client

1. 设定密码

[root@linuxprobe ~]# vim /etc/rsync.pas password

修改权限

[root@linuxprobe ~]# chown root.root /etc/rsync.pas
[root@linuxprobe ~]# chmod 600 /etc/rsync.pas

2. client链接SERVER

从SERVER端取文件

/usr/bin/rsync -vzrtopg --progress --delete linuxprobe@192.168.0.217::backup /home/backup --password-file=/etc/rsync.pas

向SERVER端上传文件

/usr/bin/rsync -vzrtopg --progress --password-file=/root/rsync.pas  /home/backup linuxprobe@192.168.0.217::backup

这个命令将把本地机器/home/backup目录下的全部文件(含子目录)所有备份到RSYNC SERVER(172.20.0.6)的backup模块的设定的备份目录下。
请注意若是路径结束后面带有"/",表示备份该目录下的东东,但不会建立该目录,如不带"/"则建立该目录。

RSYNC用法:

rsync [OPTION]... [USER@]HOST::SRC  [DEST]              #从RSYNC SERVER备份文件到本地机器
rsync [OPTION]... SRC [SRC]...      [USER@]HOST::DEST   #从本地机器备份文件到RSYNC SERVER

3. 自动运行

1) 制做脚本文件

[root@linuxprobe ~]# vim /usr/local/rsync/time.sh
[root@linuxprobe ~]# !/bin/bash
/usr/bin/rsync -vzrtopg --progress --delete linuxprobe@192.168.0.217::backup /home/backup --password-file=/etc/rsync.pas

2) 编辑crontab

[root@linuxprobe ~]# crontab -e
55 * * * * /usr/local/rsync/time.sh //每55分运行一次time.sh脚本文件

防火墙设置

若是服务器上装有防火墙,需在服务器中设置iptables将837端口开放。

[root@linuxprobe ~]# iptables -A INPUT -p tcp --dport 873 -j ACCEPT

免费提供最新Linux技术教程书籍,为开源技术爱好者努力作得更多更好:http://www.linuxprobe.com/

相关文章
相关标签/搜索