rsync的使用——远程服务器同步配置

一、背景介绍

由于需要和其他系统进行对接。文件的逻辑地址通过接口传递,而文件的实体需要通过服务器间的同步进行传输。在同事的建议下选择了rsync。

二、RSYNC介绍

RSYNC 有多种方式进行同步,本篇文章主要叙述的是其中,两种远程服务器的同步配置。(在客户端 注意命令中“:” 冒号的个数)

要了解更多关于rsync的内容,请跳转到 http://man.linuxde.net/rsync 阅读相关文档。

三、实际操作

3.1 确认机器是否安装rsync

3.2 配置rsync的文件

以下是本次配置中rsyncd.conf的内容:

 1  uid = root
 2  gid = root
 3  use chroot = no
 4  max connections = 2000
 5  port = 8973
 6  timeout = 900
 7  log file = /var/run/rsyncd.log
 8  pid file = /var/run/rsyncd.pid
 9  lock file = /var/run/rsyncd.lock
10  log format = %t%a%m%f%b
11  commemt = rsync
12  list = yes
13  read only = yes
14  write only = no
15  auth users = apprsync
16  secrets file = /etc/rsyncd.secret
17  ignore errors = yes
18  hosts allow = 172.21.5.164
19
20 ###########################之上是全局定义 之下是模块单独定义
21 [rsyncvideo]
22 path = /app/nas/video
23 [rsyncimage]
24 path = /app/nas/image
25  

3.2.1全局定义(直接配置请跳过本段)

  在rsync 服务器中,全局定义有几个比较关健的,根据我们前面所给的配置文件 rsyncd.conf 文件;

  pid file = /var/run/rsyncd.pid   注:告诉进程写到 /var/run/rsyncd.pid 文件中;
  port = 873  注:指定运行端口,默认是873,可以自己指定;本次这里选择了8973(在之后的客户端请求会有不一样的地方)
  uid = nobody   
  gid = nobdoy

  注:服务器端传输文件时,要发哪个用户和用户组来执行,默认是nobody。 如果用nobody 用户和用户组,可能遇到权限问题,有些文件从服务器上拉不下来。所以我就偷懒,为了方便,用了root 。不过可以在定义要同步的目录时定义的模块中指定用户来解决权限的问题。

  use chroot = yes

  注: 安全相关,默认为true,修改为no,增加对目录文件软连接的备份

  read only = yes

  注:read only 是只读选择,也就是说,不让客户端上传文件到服务器上。还有一个 write only选项, # no客户端可下载文件,yes不能下载;

  max connections = 5

  注:客户端最多连接数

  log file = /var/log/rsync.log

  注:rsync 服务器的日志;

  log format = %t %a %m %f %b
      注 日志格式  

timeout = 300

注 超期时间

auth users = apprsync

注 执行数据同步的用户名,可以设置多个,用英文状态下逗号隔开(此处是使用模块同步时使用到的用户名与ssh不一样)。

  #limit access to private LANs

  hosts allow=192.168.1.0/255.255.255.0 10.0.1.0/255.255.255.0

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

3.2.2 局部配置(直接配置请跳过本段)

由于需要同步两个不同的文件夹,所以在此处配置两个模块分别定义为 rsyncvideo 和 rsyncimage,也就是同步图片和视频的两个文件夹分别指向两个不同的地址。

3.3 创建为模块同步方式的用户和密码

我们在之前配置的时候 写入了

1  auth users = apprsync
2  secrets file = /etc/rsyncd.secret 

因此我们要在 指定的路径(/etc/rsyncd.secret) 建立一个指定的用户(apprsync)即可 密码设置为123456.注意此处 需要把该文件的权限设置为600。

3.4 创建为 ssh同步方式的用户和密码

由于我们这篇文章主要是讲解实现了两种同步方式。两个可以并存和单独使用。

创建用户

sudo useradd -d "/home/apprsync" -m -s "/bin/bash" apprsync

设置密码
passwd apprsync;(敲完这个命令之后两次输出)

3.5启动rsync守护进程,并写入开机自启动

设置开机自启动,写入到/etc/rc.local里面

vim /etc/rc.local

1 # rsync server progress
2 /usr/bin/rsync --daemon --config=/etc/rsyncd.conf

3.6 两种不同的客户端同步命令

3.6.1使用模块同步

同步模块rsyncimage中的内容

在之前配置的

hosts allow = 172.21.5.164 这台目标机器中

输入命令  rsync -avz --delete --port 8973 [email protected]::rsyncimage /usr/local/image

同步模块rsyncvideo中的内容 ,与上面相似

3.6.2 使用SSH同步

在之前配置的

hosts allow = 172.21.5.164 这台目标机器中

输入命令

rsync -avz --delete [email protected]:/app/nas/video /usr/local/test

注意 此处并没有指定端口 同时少了一个冒号 并且指定了想要同步的目标地址

其中中间一次是我弄出一个错误  在模块同步的时候输入了ssh用户的密码 所以导致了认证失败。

由此,两种方式的同步就到此完毕。

四、可能遇到的问题

请不要把两种同步方式弄混了。主要是认证与路径的问题。

路径最后要注意不要有空格,否则会导致找不到对应的路径。

原文地址:https://www.cnblogs.com/iceworld520/p/9186840.html

时间: 2024-08-02 11:49:54

rsync的使用——远程服务器同步配置的相关文章

远程服务器同步配置

rsync的使用--远程服务器同步配置 https://www.cnblogs.com/iceworld520/p/9186840.html 一.背景介绍 由于需要和其他系统进行对接.文件的逻辑地址通过接口传递,而文件的实体需要通过服务器间的同步进行传输.在同事的建议下选择了rsync. 二.RSYNC介绍 RSYNC 有多种方式进行同步,本篇文章主要叙述的是其中,两种远程服务器的同步配置.(在客户端 注意命令中":" 冒号的个数) 要了解更多关于rsync的内容,请跳转到 http:

[sersync+rsync] centos6.5 远程文件同步部署记录

针对本地文件的修改,自动同步到远程文件夹,远程备份很方面.研究了下大家的主流同步方案一般是 rsync+inotify和rsync+sersync, 我这里使用sersync的方案,当然大部分都是参照前人经验,感谢他们的无私. 概述 我这里的目的是为了远程同步mysql的备份文件,centos6.5 同步到另一台centos主机 使用rsync+sersync做实时同步时,用于推送文件 的服务器运行sersync服务,用于接收文件的服务器则运行rsync守护进程,简单来说就是sersync会利用

rsync也可以远程数据同步

rsync简介 rsync(rem ote synchronize)是一个远程数据同步工具,可通过 LAN/WAN 快速同步多台主机之间的文件.也可以使用 rsync 同步本地硬盘中的不同目录. rsync是用于替代rcp的一个工具,rsync 使用所谓的 rsync算法进行数据同步,这种算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度非常快. rsync支持大多数的类 Unix 系统,无论是 Linux.Solaris 还是 BSD上 都经过了良好的测试. CentOS系统默认就安

Oracle 11g 客户端连接远程服务器数据库配置

在使用oracle11g Net Manager 连接远程数据库遇到的问题总结. 1 在win7系统上start菜单-->Oracle - OraDb11g_home1-->配置和移植工具-->Net Manager 2 点击服务命名-->打开服务命名向导 在下面的操作中,一定要记得保存网络配置.记着选择使用oracle8发行版8.0兼容标识

Rsync本地及远程同步工具

Rsync 是一款开源的,快速的,多功能的m,可实现全量及增量的本地或者远程数据同步备份的优秀工具,rsync适用于window/unix/linux等多种操作系统平台; 在同步备份数据时,默认情况下,rsync通过其独特的quick check 算法, 它仅同步大小或者最后修改时间发生变化的文件或者目录, 当然也可根据权限,属主等属性的变化同步,但需要指定相应的参数 甚至可以实现只同步一个文件里有变化的内容部分,所以,可以实现快速的同步备份数据. rsync与ssh的scp以及cp命令之间的对

服务器同步

Sersync服务器同步 单向,即只能从一主机写入,同步到另一主机. 系统环境: RHEL6 x86_64 主服务器:server1 192.168.2.68 目标服务器:station1 192.168.2.27 条件:iptables关,selinux关 软件下载:http://code.google.com/p/sersync/ sersync主要用于服务器同步,web镜像等功能.基于boost1.43.0,inotify api,rsync command.开发.目前使用的比较多的同步解

Linux下rsync+inotify实现实时数据同步

一. rsync 1. 什么是rsync rsync 是一个远程数据同步工具, 可以实现本主机内,或跨主机的数据同步.以服务运行时监听在TCP 873端口, rsync演算法可以达到只传送文件变化的部分,而不是整个都传送,因此速度相当的快,性能不错. 所以rsync通常可以作为备份工具来使用. 1.1 rsync基本特点: 1. 可以镜像保存整个目录树或文件系统 2. 可以很容易做到保持原来文件的权限.时间.软硬链接等; (通过rsync的一些参数, 如 -a) 3. 较高的数据传输效率 4.

vb 本机与SQL远程服务器时间同步

目前在做产线软件的维护,远程连接方式由winsock协议转变成ODBC方式,数据库由ACCESS升级为SQL2005 这里遇到一个问题,就是本机与远程服务器同步,经过多次尝试,以下代码可行: Dim Conn As New ADODB.Connection Dim Rs As New ADODB.Recordset Private Sub Form_Load() On Error GoTo ErrorHandle '* 连接字符串: Conn.Open "driver={SQL Server};

Pycharm连接远程服务器并进行代码上传+远程调试

前提:需要有一个远程服务器,知道他的ip.port.user.password 一.连接远程服务器 进入配置页面 Pycharm菜单栏,如下图所示,依次点击 Tools -> Deployment -> Configration… 配置连接服务器 Connection下,协议最好选择SFTP,接下来填写服务器主机IP,用户名,密码. 配置完成后点击Test SFTP connection会发现,如果连接成功会提示你如下 在Mapping下,选择连接windows下的那部分代码和服务器上代码相连