阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

rsync服务器搭建

141次阅读
没有评论

共计 4740 个字符,预计需要花费 12 分钟才能阅读完成。

rsync 在进行文件备份时是如此的方便,以至于我觉得必须在自己的服务器上安装它。这里对 rsync 的服务器进行了简单粗暴的搭建和配置(直接上代码),对于细节不做深入讨论,但是可以肯定是,服务器一定能 run 起来,对于新手这才是最重要的,不是吗?
 
一 什么是 rsync

rsync,remote synchronize 顾名思意就知道它是一款实现远程同步功能的软件,它在同步文件的同时,可以保持原来文件的权限、时间、软硬链接等附加信息。rsync 是用“rsync 算法”提供了一个客户机和远程文件服务器的文件同步的快速方法,而且可以通过 ssh 方式来传输文件,这样其保密性也非常好,另外它还是免费的软件。

rsync 包括如下的一些特性:
1. 能更新整个目录和树和文件系统;
2. 有选择性的保持符号链链、硬链接、文件属于、权限、设备以及时间等;
3. 对于安装来说,无任何特殊权限要求;
4. 对于多个文件来说,内部流水线减少文件等待的延时;
5. 能用 rsh、ssh 或直接端口做为传输入端口;
6. 支持匿名 rsync 同步文件,是理想的镜像工具;
 
二 搭建 rsync 服务器
 
1.rsync 的安装
 
        a. 源码编译安装

          下载地址:https://rsync.samba.org/

[root@linuxidc install]# tar xvf rsync-3.1.1.tar.gz
[root@linuxidc install]# cd rsync-3.1.1
[root@linuxidc rsync-3.1.1]# ./configure –prefix=/usr/local
[root@linuxidc rsync-3.1.1]# make && make install
[root@linuxidc rsync-3.1.1]# cd /usr/local/bin
[root@linuxidc bin]# ll|grep rsync
    -rwxr-xr-x. 1 root root 1368856 9 月  21 12:01 rsync
 
b. 软件包安装

sudo apt-get install rsync  ## 注:在 debian、Ubuntu 等在线安装方法;
yum install rsync          ## 注:Fedora、RedHat 等在线安装方法;
rpm -ivh rsync              ## 注:Fedora、Redhat 等 rpm 包安装方法;
 
                            ## 其它 Linux 发行版,请用相应的软件包管理方法来安装。
 
 
2.rsync 的配置

        rsync 的主要有以下三个配置文件 rsyncd.conf(主配置文件)、rsyncd.secrets(密码文件)、rsyncd.motd(rysnc 服务器信息)

服务器配置文件 (/etc/rsyncd.conf),该文件默认不存在,请创建它。

具体步骤如下:

[root@linuxidc local]# cd /etc/
[root@linuxidc etc]# mkdir rsync.d
[root@linuxidc etc]# cd rsync.d/
   
[root@linuxidc rsync.d]# touch rsyncd.conf
[root@linuxidc rsync.d]# touch rsyncd.secrets
[root@linuxidc rsync.d]# touch rsyncd.motd
[root@linuxidc rsync.d]# chmod 600 rsyncd.secrets    ## 将 rsyncd.secrets 这个密码文件的文件属性设为 root 拥有, 且权限要设为 600
[root@linuxidc rsync.d]# ll
总用量 0
-rw-r–r–. 1 root root 0 9 月  21 12:14 rsyncd.conf
-rw-r–r–. 1 root root 0 9 月  21 12:14 rsyncd.motd
-rw——-. 1 root root 0 9 月  21 12:14 rsyncd.secrets

以下是 rsyncd.conf 的配置

# Distributed under the terms of the GNU General Public License v2
# Minimal configuration file for rsync daemon
# See rsync(1) and rsyncd.conf(5) man pages for help
# This line is required by the /etc/init.d/rsyncd script
# pid file = /var/run/rsyncd.pid
port = 873
address = 115.28.34.xxx  #修改为自己的 ip
uid = root
gid = root
use chroot = yes
read only = yes
#limit access to private LANs
hosts allow=*
hosts deny=*
max connections = 5
motd file = /etc/rsync.d/rsyncd.motd
#This will give you a separate log file
#log file = /var/log/rsync.log
#This will log every file transferred – up to 85,000+ per user, per sync
#transfer logging = yes
log format = %t %a %m %f %b
syslog facility = local3
timeout = 300
[mysql_backup]
path = /data/mysql_backup
list=yes
ignore errors
auth users = linuxidc
secrets file = /etc/rsync.d/rsyncd.secrets
comment = backup mysql
exclude = git/

以下是 rsyncd.secrets 的配置

linuxidc:123456

以下是 rsyncd.motd 的配置

++++++++++++++++++++++++++++++++++++++++++++++
Welcome to use the mike.org.cn rsync services!
          CentOS6.3 linuxidc
++++++++++++++++++++++++++++++++++++++++++++++
 
3. 启动脚本

[root@linuxidc rsync.d]# vi /etc/init.d/rsync
#!/bin/bash
#
# rsyncd      This shell script takes care of starting and stopping
#            standalone rsync.
#
# chkconfig: – 99 50
# description: rsync is a file transport daemon
# processname: rsync
# config: /etc/rsync.d/rsyncd.conf
# Source function library
. /etc/rc.d/init.d/functions
RETVAL=0
rsync=”/usr/local/bin/rsync”
prog=”rsync”
CFILE=”/etc/rsync.d/rsyncd.conf”
start() {
        # Start daemons.
        [-x $rsync] || \
            {echo “FATAL: No such programme”;exit 4;}
        [-f $CFILE] || \
            {echo “FATAL: config file does not exist”;exit 6;}
        echo -n $”Starting $prog: “
        daemon $rsync –daemon –config=$CFILE
        RETVAL=$?
        [$RETVAL -eq 0] && touch /var/lock/subsys/$prog
        echo
        return $RETVAL
}
stop() {
        # Stop daemons.
        echo -n $”Stopping $prog: “
        killproc $prog -QUIT
        RETVAL=$?
        echo
        [$RETVAL -eq 0] && rm -f /var/lock/subsys/$prog
        return $RETVAL
}
# call the function we defined
case “$1” in
  start)
        start
        ;;
  stop)
        stop
        ;;
  restart|reload)
        stop
        start
        RETVAL=$?
        ;;
  status)
        status $prog
        RETVAL=$?
        ;;
  *)
        echo $”Usage: $0 {start|stop|restart|reload|status}”
        exit 2
esac
exit $RETVAL
 
 
[root@linuxidc rsync.d]# chmod +x /etc/init.d/rsync
[root@linuxidc rsync.d]# /etc/init.d/rsync start
    正在启动 rsync:[确定]
     
[root@linuxidc rsync.d]# chkconfig –add /etc/init.d/rsync  ## 添加到开机启动
[root@linuxidc rsync.d]# chkconfig –level 235 rsync on    ## 添加到开机启动
 
4. 测试连接

[root@linuxidc rsync.d]# rsync –list-only linuxidc@115.28.34.xxx::mysql_backup
++++++++++++++++++++++++++++++++++++++++++++++
Welcome to use the mike.org.cn rsync services!
          centos6.3 linuxidc
++++++++++++++++++++++++++++++++++++++++++++++
Password:
drwxr-xr-x        4096 2015/09/20 15:24:06 .
drwxr-xr-x        4096 2015/09/21 04:00:01 201509

RSync 实现文件备份同步详解   http://www.linuxidc.com/Linux/2014-09/106967.htm

利用 inotifywait 监控主机文件和目录 http://www.linuxidc.com/Linux/2013-03/81075.htm

利用 inotify+rsync 实现 Linux 文件批量更新 http://www.linuxidc.com/Linux/2012-01/52132.htm

inotify-tools+rsync 实时同步文件安装和配置 http://www.linuxidc.com/Linux/2012-06/63624.htm

rsync 同步完整配置 http://www.linuxidc.com/Linux/2013-06/85781.htm

CentOS 6.5 下 Rsync 远程同步 http://www.linuxidc.com/Linux/2014-05/101084.htm

Rsync 的详细介绍 :请点这里
Rsync 的下载地址 :请点这里

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2015-10/123841.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计4740字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中