Rsync服务器架设

简介:

作业环境
操作系统:CentOS 5.5-i386

一、rsync介绍

rsync 是一个快速增量文件传输工具,它可以用于在同一主机备份内部的备分,还可以把它作为不同主机网络备份工具之用。

二、rsync的安装

服务器端和客户端都需要安装rsync。
CentOS5.5系统默认安装了rsync,其版本号是2.6.8,如果系统没有,可以通过以下命令安装:
[root@sqing25 ~]# yum –y install rsync
也可以通过源码安装,:
[root@sqing25 ~]# wget http://rsync.samba.org/ftp/rsync/rsync-3.0.7.tar.gz
[root@sqing25 ~]# tar zxvf rsync-3.0.7.tar.gz
[root@sqing25 ~]# cd rsync-3.0.7
[root@ sqing25 rsync-3.0.7]# ./configure
[root@ sqing25 rsync-3.0.7]# make
[root@ sqing25 rsync-3.0.7]# make install
注:在用源码包编译安装之前,需安装gcc编译工具,否则编译出错。

三、rsync服务器端配置

1、rsyncd.conf
新建并编辑rsyncd.conf文件,该文件是rsync服务器的主要配置文件,保存路径自行设定,一般放在etc目录下,内容分为全局定义和模块定义
[root@sqing25 ~]# vi /etc/rsyncd.conf
内容如下:
uid = root
gid = root
use chroot = no
strict modes = yes
address = 10.8.5.25    //指定本机IP地址,可以不设
port = 873    //指定rsync服务端口,默认是873
max connections = 10    //最大连接数
pid file = /var/run/rsyncd.pid  //告诉进程,写到/var/run/rsyncd.pid中
motd file=/etc/rsyncd.motd  //服务器信息文件,需算自行创建,可不设
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log

[home]    //模块名称,即同步或备份的目录,客户端用这个关键字连接
path=/home    //指定文件目录所在位置
comment = this is a test
ignore errors  //忽略IO错误
read only = yes   //只读,不让客户端上传文件到服务器端
list = no
auth users = root   //登录用户,必须是服务器上存在的真实用户,多个用户用逗号隔开
secrets file = /etc/rsyncd.pas  //密码文件,需自行创建 
hosts allow = 10.8.5.24  //允许访问的客户端
hosts deny=*  //禁止访问的客户端

2、rsyncd.pas
新建并编辑rsyncd.pas文件,用于存放登录用户的登录密码,文件的属性需是属主可读,为安全起见,一般不把系统用户的密码写在这里,而是另外设置密码。密码格式为“用户名:密码”,其中用户是rsyncd.conf中的auth users指定的用户,若是多个用户,要在多行中输入“用户名:密码”。
[root@sqing25 ~]# vi /etc/rsyncd.pas
内容如下:
root:123456
[root@sqing25 ~]# chmod 600 /etc/rsyncd.pas
将其权限修改为600,这一步很重要,要是不修改,客户端尝试连接时会出现类似如下的报错:
@ERROR: auth failed on module home
rsync error: error starting client-server protocol (code 5) at main.c(1296) [receiver=2.6.8]

3、rsyncd.motd
新建并编辑rsyncd.motd文件,该文件是定义服务器信息的,用于标识服务器,用户登录时会看到该信息
[root@sqing25 ~]# vi /etc/rsyncd.motd
内容如下:
----------------------------------------------
Welcome to 10.8.5.25 server!
    ----------------------------------------------

4、防火墙设置
如果服务器上装有防火墙,需在服务器中设置iptables将837端口开放。
[root@sqing25 ~]#iptables -A INPUT -p tcp --dport 873 -j ACCEPT

5、启动rsync服务器
在服务器端将rsync以守护进程形式启动
[root@sqing25 ~]#rsync --daemon --config=/etc/rsyncd.conf

四、rsync客户端同步数据

1、rsync客户端配置
客户端rsync如果是通过源码安装的,需在/etc目录下创建了一个rsyncd.conf文件,内容也空也无所谓,否则在运行rsync时会出现如下报错:
[root@sqing24 ~]# rsync --daemon
Failed to parse config file: /etc/rsyncd.conf
但如果是系统默认安装或yum安装的,则不存在此问题。

2、手动同步数据,手动输入密码
[root@sqing24 ~]#rsync -azvr --progress --delete root@10.8.5.25::home /home/server25
~~Welcome to 10.8.5.25!
Password: 
receiving file list ...

3、手动同步数据, 指定密码文件
新建并编辑rsyncd.pas文件,用于存放登录用户的登录密码,这样可以在脚本中使用而无需交互式地输入验证密码。
[root@sqing24 ~]# vi /etc/rsyncd.pas
内容如下:
123456
[root@sqing24 ~]# chmod 600 /etc/rsyncd.pas
[root@sqing24 ~]#rsync -azvr --progress –delete --password-file=/etc/rsyncd.pas  root@10.8.5.25::home /home/server25
~~Welcome to 10.8.5.25!
receiving file list ...

4、客户端自动同步数据
rsync是通过crond这个后台进行(计划任务)来实现自动同步数据,CentOS5.5下默认安装并运行crond服务器,可以通过以下命令查看
[root@sqing24 ~]#  rpm -qa |grep cron  //查看crond是否安装
[root@sqing24 ~]# ps aux |grep crond  //相看crond是否运行

在tmp目录下建一个backup.sh文件
[root@sqing24 ~]# vi /tmp/backup.sh
内容如下:
#!bin/sh
rsync –azvr --delete --password-file=/etc/rsyncd.pas root@10.8.5.25::home /home/server23
需要注意的是,/etc/rsyncd.pas文件的属性要为600,这在先前的操作中已经设置过了。

修改crontab制定任务计划,使其定时调度并运行backup.sh脚本,
[root@sqing24 ~]# crontab –e
内容如下:
* * * * * sh /tmp/backup.sh  //表示每隔一分钟运行一次脚本
新创建的crontab文件会放在/var/spool/cron目录下,文件名就是用户名,用cd  /var/spool/cron后 会看到用户文件,然后用 cat root(当前是root登录)可以看到“* * * * * sh /tmp/backup.sh”已经被转到这里了。

5、部分参数说明
root@10.8.5.25:/home/backup 服务器端的用户名和模块
/home/backup24 指定客户端存放备份文件的路径
-v,-verbose 详细模式输出
-z,-compress 压缩
-r,-recursive 对子目录以递归模式处理
-topg 保持文件的原有属性,如属主、时间等参数
-c,-checksum 打开校验开关,强制对文件传输进行校验
-a,-archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD
-R,-relative 使用相对路径信息
-q,-quiet 精简输出模式
--progress 显示出详细的进展情况
--delete 如果服务器删除了这一文件,客户算也会相应的把文件删除,保持真正的一致
--exclude 不包含某些文件

五、rsync问题解决

开始时,客户端访问服务器端,直接访问的是待备份的目录,命令如下
[root@sqing24 ~]#rsync -azvr --progress --delete root@10.8.5.25:/home/backup /home/backup24
在输入密码时,rsyncd.pas中设置的密码是无效的,只有该用户在系统中的密码才有效,一直以为是密码设置上出了问题,但就是改不过来。后来发现,后来又发现,待备份文件如果采用模块名称,即“username@需要备份的主机IP::备份里的模块名称”时,用户根本就无法连接:
[root@sqing24 ~]#rsync -azvr --progress --delete root@10.8.5.25::home --exclude=".sh" /home/server25
rsync: failed to connect to 10.8.5.25: Connection refused (111)
rsync error: error in socket IO (code 10) at clientserver.c(122) [Receiver=3.0.7]
经过进一步测试,得出结论,服务器端在运行rsync –daemon命令后,实际并没有运行rsync服务。
琢磨许久后,通过看进程才知道,由于rsync –daemon运行的意义在于使rsyncd.pid包含process id信息,而该守护进程需要通过xinetd来启动,故在系统中要安装xinetd,并启动
[root@sqing25 ~]# yum -y install xinetd
[root@sqing25 ~]# /etc/init.d/xinetd.d start



本文转自Sunshyfangtian 51CTO博客,原文链接:http://blog.51cto.com/sunshyfangtian/484945,如需转载请自行联系原作者


相关文章
|
2月前
|
弹性计算 数据安全/隐私保护
2024年阿里云雾锁王国/Enshrouded服务器搭建架设教程(保姆级)
随着游戏行业的日新月异,玩家们对游戏体验的期待也不断攀升。阿里云针对这一需求,推出了快速、便捷的游戏联机服务器一键部署方案。在本篇教程中,我们将向大家展示如何在短短的10秒钟内,利用阿里云服务器轻松搭建雾锁王国游戏服务器,为您的游戏体验增添更多流畅与顺畅。跟随我们的步骤,让您的游戏世界更加精彩!
|
2月前
|
弹性计算 Linux 数据安全/隐私保护
1分钟幻兽帕鲁社区服务器搭建架设开服教程(Linux)
1分钟幻兽帕鲁社区服务器搭建架设开服教程(Linux)玩转幻兽帕鲁服务器,幻兽帕鲁Palworld多人游戏专用服务器一键部署教程,阿里云推出新手0基础一键部署幻兽帕鲁服务器教程,傻瓜式一键部署,3分钟即可成功创建一台Palworld专属服务器,成本仅需26元,阿里云百科分享2024年新版基于阿里云搭建幻兽帕鲁服务器教程
72 3
|
2月前
|
Linux 应用服务中间件 nginx
国服浪潮服务器操作系统——KeyarchOS多容器架设体验心得
国服浪潮服务器操作系统——KeyarchOS多容器架设体验心得
55 0
|
2月前
|
弹性计算 Ubuntu Linux
帕鲁服务器多少钱?2024年幻兽帕鲁服务器搭建架设教程(保姆级)
帕鲁服务器多少钱?阿里云帕鲁服务器26.52元1个月在帕鲁的世界中,与神奇的生物共度悠闲时光是一种无与伦比的乐趣。然而,有时官方服务器的不稳定性可能会给游戏体验带来延迟和卡顿。 为了告别这些问题,部署自己的幻兽帕鲁服务器成为了一个不错的选择。通过搭建专属的游戏服务器(Dedicated Server),和小伙伴们获得一个专属的服务空间,获得顺畅流畅的游戏体验。 在本文中,我们将介绍如何使用自己的服务器来部署属于自己的幻兽帕鲁服务器,与小伙伴们共同展开一场精彩的冒险之旅。
146 0
|
安全 Linux 网络架构
架设个人FTP服务器的三种方法
架设个人FTP服务器的三种方法
架设个人FTP服务器的三种方法
|
弹性计算 Linux Windows
mc服务器架设的ECS使用体验
mc服务器架设的ECS使用体验
如何架设自己的 SAP UI5 资源服务器
如何架设自己的 SAP UI5 资源服务器
116 0
如何架设自己的 SAP UI5 资源服务器
如何架设自己的 SAP UI5 资源服务器
我写了一套适合 SAP UI5 初学者使用的教程,链接在此。
如何架设自己的 SAP UI5 资源服务器
|
弹性计算 Linux
利用ecs架设我的世界服务器
一直想陪同学联机玩我的世界,看到阿里云能白嫖ecs我就来了
|
弹性计算 网络协议 安全
阿里云ECS架设Minecraft服务器初体验
阿里云ECS架设Minecraft服务器实操与体验
1725 0
阿里云ECS架设Minecraft服务器初体验

热门文章

最新文章