rsync 服务器
来源:互联网 发布:js数组遍历方法 编辑:程序博客网 时间:2024/04/29 16:03
本文转自 使用 rsync 服务(二)
- 一 rsync 服务简介
- 二 配置 rsync 服务
- 1 配置 rsync 服务器的步骤
- 2 以 xinetd 运行 rsync 服务
- 3 独立运行 rsync 服务
- 4 配置文件 rsyncdconf
- 41 全局参数
- 42 模块参数
- 三 rsync 服务器与备份
- 1 何时使用 rsync 服务器
- 2 部署 rsync 服务器的两种方法
一. rsync 服务简介
上一节讲述了使用 rsync 客户命令进行同步和备份的内容。rsync 还可以以守护进程(daemon)方式运行,若一台主机以 daemon 模式运行 rsync,一般称其为 rsync 服务器。rsync 的 C/S 方式运行方式概述如下:
- rsync 客户端连接远程 rsync 守护进程进行数据同步
- rsync 服务器端要开启 rsyncd 服务,默认监听 873 端口,等待客户端去连接
- rsync 服务器可以独立运行,也可由 Xinetd 运行,CentOS 默认以 Xinetd 运行
- rsync 服务器启动时会读取配置文件,默认为 /etc/rsyncd.conf,其格式类似于 samba 的主配置文件
- 用户验证由服务器负责,用户口令文件在 /etc/rsyncd.conf 中指明
rsync 命令既是客户端程序,同时也是服务程序。在运行 rsync 服务时使用特殊的命令选项,常用的服务选项有:
上面仅仅列出了 rsync 用于服务的选项,rsync 用于客户的选项请参见上节。
二. 配置 rsync 服务
2.1 配置 rsync 服务器的步骤
- 首先要选择服务器启动方式
- 对于负荷较重的 rsync 服务器应该使用独立运行方式
- 对于负荷较轻的 rsync 服务器可以使用 xinetd 运行方式
- 创建配置文件 rsyncd.conf
- 对于非匿名访问的 rsync 服务器还要创建认证口令文件
2.2 以 xinetd 运行 rsync 服务
CentOS 默认以 xinetd 方式运行 rsync 服务。rsync 的 xinetd 配置文件
在 /etc/xinetd.d/rsync。要配置以 xinetd 运行的 rsync 服务需要执行如下的命令:
chkconfig rsync onservice xinetd restart
管理员可以修改 /etc/xinetd.d/rsync 配置文件以适合您的需要。例如,您可以修改配置行
server_args = --daemon
在后面添加 rsync 的服务选项。
2.3 独立运行 rsync 服务
最简单的独立运行 rsync 服务的方法是执行如下的命令:
/usr/bin/rsync --daemon
您可以将上面的命令写入 /etc/rc.local 文件以便在每次启动服务器时运行 rsync 服务。当然,您也可以写一个脚本在开机时自动启动 rysnc 服务。
2.4 配置文件 rsyncd.conf
两种 rsync 服务运行方式都需要配置 rsyncd.conf,其格式类似于 samba 的主配置文件。
配置文件 rsyncd.conf 默认在 /etc 目录下。为了将所有与 rsync 服务相关的文件放在单独的目录下,可以执行如下命令:
mkdir /etc/rsyncdtouch /etc/rsyncd/rsyncd.confln -s /etc/rsyncd/rsyncd.conf /etc/rsyncd.conf
配置文件 rsyncd.conf 由全局配置和若干模块配置组成。配置文件的语法为:
- 模块以 [模块名] 开始
- 参数配置行的格式是 name = value ,其中 value 可以有两种数据类型:
- 字符串(可以不用引号定界字符串)
- 布尔值(1/0 或 yes/no 或 true/false)
- 以 # 或 ; 开始的行为注释
- \ 为续行符
2.4.1 全局参数
在文件中 [module] 之外的所有配置行都是全局参数。当然也可以在全局参数部分定义模块参数,这时该参数的值就是所有模块的默认值。
2.4.2 模块参数
模块参数主要用于定义 rsync 服务器哪个目录要被同步。模块声明的格式必须为 [module] 形式,这个名字就是在 rsync 客户端看到的名字,类似于 Samba 服务器提供的共享名。而服务器真正同步的数据是通过path 来指定的。可以根据自己的需要,来指定多个模块,模块中可以定义以下参数:
1. 基本模块参数
2. 模块控制参数
3. 模块文件筛选参数
- 一个模块只能指定一个 exclude 参数、一个 include 参数。
- 结合 include 和 exclude 可以定义复杂的 exclude/include 规则 。
- 这几个参数分别与相应的 rsync 客户命令选项等价,唯一不同的是它们作用在服务器端。
- 关于如何书写规则文件的内容请参见 rsync 客户端。
4. 模块用户认证参数
- rsync 认证口令文件的权限一定是 600,否则客户端将不能连接服务器
- rsync 认证口令文件中每一行指定一个 用户名:口令 对,格式为:
- 以 “#” 开始的行为注释行
username:passwd
- 一般来说口令最好不要超过8个字符。
若您只配置匿名访问的 rsync 服务器,则无需设置上述参数。
- 以 “#” 开始的行为注释行
5. 模块访问控制参数
客户主机列表定义可以是以下形式:
- 单个IP地址。例如:192.168.0.1
- 整个网段。例如:192.168.0.0/24,192.168.0.0/255.255.255.0
- 可解析的单个主机名。例如:centos,centos.smartraining.cn
- 域内的所有主机。例如:*.smartraining.cn
- “*”则表示所有。
- 多个列表项要用空格间隔。
6. 模块日志参数
设置了”log file”参数时,在日志每行的开始会添加”%t [%p]“。可以使用的日志格式定义符如下所示:
- %a - 远程IP地址
- %h - 远程主机名
- %l - 文件长度字符数
- %p - 该次 rsync 会话的 PID
- %o - 操作类型:”send” 或 “recv”
- %f - 文件名
- %P - 模块路径
- %m - 模块名
- %t - 当前时间
- %u - 认证的用户名(匿名时是 null)
- %b - 实际传输的字节数
- %c - 当发送文件时,记录该文件的校验码
三. rsync 服务器与备份
3.1 何时使用 rsync 服务器
- 若用户在远程主机上有登录帐号,通常可以使用 ssh 方式运行 rsync 而不必配置 rsync 服务。
- 由于 rsync 服务使用明文口令,所以在不可信任的网络中应该尽量使用 ssh 方式运行 rsync。
- 在可信任的网络中可以配置使用 rsync 服务器,当然也可以使用 ssh 方式运行 rsync。
- 最需要架设 rsync 服务器的理由恐怕就是匿名 rsync 服务器了,它可以为客户提供匿名访问的同步资源,
例如:允许用户同步 FTP 软件资源、Linux 发行版本的软件仓库等。
3.2 部署 rsync 服务器的两种方法
为了备份数据,如何在网络中部署 rsync 服务器呢?通常有两种方法:
1. 在生产服务器上同时运行 rsync 服务
- rsync 服务以只读方式提供要备份的数据,从而避免破坏生产服务器上的数据
- 根据需要,可以配置一个或多个(为了避免风险)主机作为备份主机
- 在每个备份主机上以”拉”的方式从生产服务器将数据同步到备份主机
2. 在备份服务器上运行 rsync 服务
- 备份服务器实际上是个数据仓库,它集中收集了网络中所有要备份的主机的数据
- 备份服务器上运行的 rsync 服务以读写方式提供备份空间
- 根据需要,可以配置一个或多个(为了避免风险)备份服务器
- 在每台要备份的主机(包括生产服务器)上以”推”的方式将备份数据写入备份服务器
上述关于备份的思想方法同样也适用于以 ssh 方式运行 rsync 的情况。当然这时无需架设 rsync 服务,所需考虑的问题仅仅是应该以”推”方式运行还是以”拉”方式运行。
- rsync服务器
- rsync 服务器
- rsync 服务器架设方法
- rsync 服务器架设方法
- RSync服务器配置
- Rsync+ssh同步服务器
- Rsync 服务器搭建
- rsync服务器手册
- sersync + rsync 服务器同步
- rsync 服务器搭建
- rsync服务器架设
- rsync 服务器架设方法
- 架设rsync服务器
- rsync服务器搭建
- rsync服务器配置
- Rsync服务器架设方法
- Rsync服务器配置文档
- Rsync 服务器搭建
- [Swift]:快速学习笔记4 ARC和循环引用
- nyoj--(基础dp)
- LeetCode-21-Merge Two Sorted Lists(链表/归并)-Easy
- Android插件化(三)加载插件apk中的Resource资源
- 【NCRE】WindowForm的那些属性
- rsync 服务器
- 归档,解档,偏好设置,plist存储
- ListView滑动到底部自动加载
- 贝叶斯推断及其互联网应用(二):过滤垃圾邮件
- 阿里云服务器Ubuntu安装jdk7
- C++头文件重定义解决方式
- 浅析ASP.NET MVC路由配置
- centos安装jdk/tomcat/mysql
- 图搜索-dijkstra