一、rsync简介

Rsync(remote sync)是UNIX及类UNIX平台下一款神奇的数据镜像备份软件,它不像FTP或其他文件传输服务那样需要进行全备份,Rsync可以根据数据的变化进行差异(增量)备份,从而减少数据流量,提高工作效率。你可以使用它进行本地数据或远程数据的复制,Rsync可以使用SSH安全隧道进行加密数据传输。Rsync服务器端定义源数据,Rsync客户端仅在源数据发生改变后才会从服务器上实际复制数据至本地,如果源数据在服务器端被删除,则客户端数据也会被删除,以确保主机之间的数据是同步的。Rsync使用TCP 873端口。

rsync 分为服务器端、客户端,服务器端搭建比客户端辛苦一些(也是很简单)。
rsync 服务器是指以 deamon 方式运行 rsync 服务的服务器,需要打开 rsync deamon 和启动 xinetd 服务。默认端口873。
rsync 客户端是发起 rsync 连接的服务器,安装rsync即可。
rsync 客户端发起连接后,rsync 服务器会检查 rsync 客户端提交 rsync 服务器内建的户名和密码是否正确,如果通过认证检测,则开始文件传输,传输的过程是按要求先比对文件的大小、属性、权限、MD5值等信息,如果两端文件信息不一致,则按要求同步文件的区别块。

Rsync命令详解:http://man.linuxde.net/rsync

二、rsync实验环境

  • 客户端:10.30.2.39(位于中国)
  • 服务器:172.30.53.30(位于美国)
  • 服务器端Linux版本:CentOS release 5.11 (Final) [古老的服务器,现在最新版已经是cent os 7.5版本]
  • 客户端Linux版本:CentOS release 6.9 (Final)

三、rsync服务器配置

说明:服务器位于US的172.30.53.30机器,由于服务器的Linux版本较低,参考网上的一些配置都是基于cent os6,cent os7.折腾了很久没有成功。在cent os 5上面最终配置成功。下面的记录都是基于cent os 5配置的,过程会比cent os 6,7上面麻烦,但是对于cent os 6和7同样适用。

1.查看并卸载系统自带的rsync

>rpm -qa | grep rsync

>rpm -e rsync***

[删掉自带的rsync,后面将使用源码的方式安装需要的版本]

2.下载最新版本并源码安装

【rsync的源码链接,可以选择自己喜欢的版本源码安装: https://rsync.samba.org/ftp/rsync/src/

>wget http://rsync.samba.org/ftp/rsync/src/rsync-3.0.7.tar.gz
>tar xvfz rsync-3.0.7.tar.gz
>cd rsync-3.0.7
>./configure --prefix=/usr/local/rsync
>make && make install

3.创建配置文件(默认不存在,新建):/etc/rsyncd.conf

>vim /etc/rsyncd.conf

uid=nobody
gid=nobody
max connections=36000
use chroot=no
log file=/var/log/rsyncd.log
pid file=/var/run/rsyncd.pid
lock file=/var/run/rsyncd.lock
port = 873 [builds]
comment= backup builds
path=/var/www/html/pub/VA/builds
ignore errors
read only = yes
host allow = *
host deny=*
secrets file=/etc/rsyncd.passwd
auth users=root

配置文件简单解释如下:

port=873 指定端口(建议一定添加上)

[builds]后面的内容主要是定义服务器端要被同步的文件夹和属性的设置

secrets file=/etc/rsyncd.passwd
auth users=root

这两个配置要注意,指定了访问用户和账户的文件(步骤4会创建这个文件)。

4.创建/etc/rsyncd.passwd(默认不存在)

>vim /etc/rsyncd.passwd

添加账户密码如下:格式(user:pwd)

root:123456

5.权限修改(很重要一步,不可省略)

>chmod 600 /etc/rsyncd.conf
>chmod 600 /etc/rsyncd.passwd

6.启动服务器端

>/usr/local/rsync/bin/rsync --daemon --config=/etc/rsyncd.conf

四、rsync客户端配置

客户端的配置很简单,只需要安装rsync即可。客户端可以使用自带的rsync,也可以使用yum install rsync*.客户端在确保有rsync命令后,继续如下配置:

1.创建文件(/etc/rsyncd.passwd)

>vim /etc/rsyncd.passwd

123456

内容就是root的密码,参考服务器端的/etc/rsyncd.passwd文件设置。

2.修改文件权限

>chmod 600 /etc/rsyncd.passwd

3.执行同步命令

>rsync -vzrtopg --progress root@172.30.53.30::builds /builds --password-file=/etc/rsyncd.passwd

也可以后台执行>rsync -vzrtopg --progress root@172.30.53.30::builds /builds --password-file=/etc/rsyncd.passwd &

命令会显示执行的过程,实际服务器端很多T的数据,备份到中国的服务器需要很久。所以建议后台运行。

4.查看客户端同步的文件夹,可以发现服务器端的文件和内容在不断增加。

5.设置定时任务:

这一步可以使用Linux的crontab或者jenkins定时执行同步任务,这里不详解。可以参考我的文章,jenkins的定时任务。

五、高阶:通过rsync搭建自己的CentOS镜像站

1.搭建镜像站需要三步:寻找较快的国内源 ,安装tomcat并配置,同步目标源数据。

2.国内源

国内源也是同步的国外的官方服务器,我们需要寻找支持rsync的国内源,可以百度搜索关键字【centos镜像站】或者用的我的推荐清华大学开源软件镜像站 https://mirrors4.tuna.tsinghua.edu.cn/centos/。

3.tomcat安装及配置安装

>wget http://mirrors.hust.edu.cn/apache/tomcat/tomcat-8/v8.5.24/bin/apache-tomcat-8.5.24-fulldocs.tar.gz
>tar -zxvf apache-tomcat-8.5.24-fulldocs.tar.gz
配置
设置指定目录为资源目录

设置tomcat显示软连接目录
tomcat安装目录 / conf目录下的:context.xml文件,在 里面加上 allowLinking="true" 属性就可以了。
设置tomcat目录浏览

官网地址:https://tomcat.apache.org/
链接地址:http://mirrors.hust.edu.cn/apache/tomcat/tomcat-8/v8.5.24/bin/apache-tomcat-8.5.24-fulldocs.tar.gz同步源

同步源

就是将国内镜像站的数据同步到本机centos上。过程如下:
• 先创建文件夹 :centos基础源目录 centos epel源目录
• 使用rsync进行同步
• 设置定时任务

1.创建文件夹

>mkdir -p /data/centos
>mkdir -p /data/epel
2.同步:

>rsync -avrt rsync://mirrors4.tuna.tsinghua.edu.cn/centos/ /data/centos/
>rsync -avrt rsync://mirrors4.tuna.tsinghua.edu.cn/epel/ /data/epel/
3.定时任务:
将上述两行同步语句写入脚本yum_rsync.sh,vi /etc/crontab #在最后一行添加以下代码

0 1 * * * root /home/crontab/yum_rsync.sh #
设置每天凌晨1点整开始执行脚本,:wq! #保存退出

[Linux]Linux下rsync服务器和客户端配置的更多相关文章

  1. centos6.5环境下svn服务器和客户端配置实用详解

    一.服务器端配置 安装 # yum install -y subversion yum安装软件,不清除软件包的方法 # vim /etc/yum.conf keepcache=0 建立svn版本库数据 ...

  2. CentOS 6.3下rsync服务器的安装与配置[转]

    CentOS 6.3下rsync服务器的安装与配置   一.rsync 简介 Rsync(remote synchronize)是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件,也 ...

  3. linux系统下tomcat应用开机自启动 配置

    linux系统下tomcat应用开机自启动 配置 相对简单的方式是将tomcat添加为系统服务第一步  复制文件将 $Tomcat_Home/bin目录下的 catalina.sh脚本文件复制到目录/ ...

  4. Linux(Ubuntu)下MySQL的安装与配置

    转自:http://www.2cto.com/database/201401/273423.html 在Linux下MySQL的安装,我一直觉得挺麻烦的,因为之前安装时就是由于复杂的配置导致有点晕.今 ...

  5. linux系统下svn服务器操作命令

    linux系统下svn服务器操作命令 .输出指定文件或URL的内容.  svncat 目标[@版本]…如果指定了版本,将从指定的版本开始查找. svncat -r PREV filename > ...

  6. linux服务器ntp客户端配置【转】

    转自:https://www.cnblogs.com/kerrycode/archive/2015/08/20/4744804.html 在Linux系统中,为了避免主机时间因为在长时间运行下所导致的 ...

  7. 【转载】CentOS 6.3下rsync服务器的安装与配置

    一.rsync 简介 Rsync(remote synchronize)是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件,也可以使用 Rsync 同步本地硬盘中的不同目录. Rsy ...

  8. CentOS 6.3下rsync服务器的安装与配置

    一.rsync 简介 Rsync(remote synchronize)是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件,也可以使用 Rsync 同步本地硬盘中的不同目录. Rsy ...

  9. Linux系统下 Rsync 环境安装搭建

    一.Rsync简介 1.认识 Rsync(remote synchronize)是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件.Rsync使用所谓的“Rsync算法”来使本地和远 ...

随机推荐

  1. Python全栈开发-执行字符串形式的语句和字符串形式的表达式方法(即exec和eval方法)

    Python有时需要动态的创造Python代码,然后将其作为语句执行  或  作为表达式计算. exec用于执行存储在字符串中的Python代码.   1. 语句与表达式的区别:表达式是 某事,语句是 ...

  2. PHP中json数组与对象的问题

    在PHP后端,对于数组和对象的区分不是很大,主要用到的数组居多,而PHP提供接口时响应的一般是json数据(为什么使用json呢,总体来说就是体积小速度快).但是前端对数组对象很'敏感',所以对PHP ...

  3. Ubuntu 16.04 不能用inittab 设置 运行等级 runlevel

    Ubuntu 用 systemd 了,所以就没有 runlevel 了. 对应的,是一个systemd targets. Mapping between runlevels and systemd t ...

  4. Solaris 10 disable ipv6

    亲测有效:) http://thegeekdiary.com/how-to-remove-ipv6-in-solaris-11/

  5. 基因/转录本/任意特征 表达定量工具之featureCounts使用方法 | 参数详解

    featureCounts真的很厉害. 常见的参数(没什么好说的,毕竟是固定的): -a -o input_file1 -F -t -g -Q -T 关键是以下几个参数怎么设置: -f # Perfo ...

  6. 记一次排查局网内的ARP包 “不存在的” MAC 地址及 “不存在的”IP 所发的ARP包

    xu言: 最近生了一场病,虽然不是给自己找理由不写.不过果不其然还是没有坚持每天发一篇啊.不过,有时间我还是会把一些有意思的事情记录下来.以作备忘吧.这人老了记性就不好了.哈哈哈,当然,也侧面说明了. ...

  7. BAT 大规模Hadoop集群实践

    百度高级架构师马如悦:我的Hadoop 2.0 http://www.csdn.net/article/2011-04-28/296869 腾讯大规模Hadoop集群实践 腾讯 hadoop 基线版本 ...

  8. 启动mysql5.7异常The server quit without updating PID file [FAILED]sql/data/***.pi根本解决方案

    异常表现 mysql5.7启动时报错 Starting MySQL...The server quit without updating PID file [FAILED]sql/data/insta ...

  9. 配置samba 服务器 共享Linux目录

    配置samba 服务器 共享Linux目录 1.安装: yum install -y samba* 2.修改配置文件 vim /etc/samba/smb.conf [web] path = /usr ...

  10. HDU 5710 Digit Sum

    Let S(N)S(N) be digit-sum of NN, i.e S(109)=10,S(6)=6S(109)=10,S(6)=6. If two positive integers a,ba ...