Rsync服务详解

Rsync服务详解,第1张

利用 rsync 服务

在某个目录下所有文件中 查找 特殊字符串

Rsync是一款开源的、快速的、多功能的、可实现全量及增量的本地或远程数据同步备份的优秀工具

实现 1v4

rsync 命令可以 顶替 cp 命令 实现本地备份数据

rsync 命令可以 顶替 scp 命令 实现远程备份数据

配置文件帮助说明

备份原文件

编写配置文件

要使得参数 o 和 参数 g 生效,即客户端服务器上文件的属主和属组信息,同步至备份服务器依旧和客户端服务器保持一致。

修改 rsyncd.conf 配置文件

修改完配置文件,需要重启服务

需求:备份 a 目录所有文件,b目录除 1.txt 之外的所有文件,c目录不备份。

以上两种都是在备份目录结尾未加 '/'

需求:备份 a 目录所有文件,b 目录除 1.txt 之外的所有文件,c 目录只备份 2.txt 文件

需求:将 web01 服务器和 nfs01 服务器上的 hosts 文件备份至 备份服务器

注意: rsync 客户端无法在服务端创建多级目录,只能创建一级目录

如何白名单中有对应IP允许,则可以传输。否则,拒绝连接。

如果黑名单中没有对应IP信息,则可以传输数据。如果黑名单中有对应IP信息,则拒绝连接。

白名单优先级高于黑名单,若出现黑白名单冲突。

使得客户端可以查看服务端的模块信息

总结:建议设置 list = false ,否则不安全。

Windows平台下如何使用rsync实现文件同步

rsync 是一个很好的文件同步工具,我们需要一个服务端和一个客户端。可以实现把本地文件同步到服务端,也可以把服务端的文件同步到本地。

1、 下载cwRsync客户端(cwRsync)和服务器端(cwRsyncServer)。

2、服务器端(假设IP地址为:192.168.1.100)安装:采用默认选项安装。

安装后,服务默认为手动启动模式,到“管理工具/服务管理”里,启动“RsyncServer”服务,并修改“RsyncServer”为自动启动模式。

3、服务器端配置:编辑rsyncd.conf文件,写入如下信息:

以下是代码片段:

uid = 0

gid = 0 #使用匿名方式传输时必须加入这两行

use chroot = false

strict modes = false

hosts allow = *

log file = rsyncd.log

# Module definitions

# Remember cygwin naming conventions : c:\work becomes /cygwin/c/work

#

[test]

path = /cygdrive/d/temp #指定服务端用来同步的文件,这个表示“d:\temp”文件夹

read only = false

transfer logging = yes

说明:其中[test]是要同步的.模块定义,可以定义多个模块,path是磁盘路径,/cygdrive/d/temp对应到 d:\temp文件夹,由于cwRsync软件在windows下不能够直接挂盘符,采用 /cygdrive/这种模式。

4、在另外一台机器安装客户端(假设IP地址为:192.168.1.101),在命令行模式下,进入安装目录的bin文件夹下,执行: rsync -avr 192.168.1.100::test /cygdrive/d/temp,如此既可把服务端的文件同步到本地。

配置文件

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

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

具体步骤如下:

#touch /etc/rsyncd.conf #创建rsyncd.conf,这是rsync服务器的配置文件。

#touch /etc/rsyncd.secrets #创建rsyncd.secrets ,这是用户密码文件。

#chmod 600 /etc/rsyncd/rsyncd.secrets #将rsyncd.secrets这个密码文件的文件属性设为root拥有, 且权限要设为600, 否则无法备份成功!

#touch /etc/rsyncd.motd

下一就是我们修改rsyncd.conf和rsyncd.secrets和rsyncd.motd文件的时候了。

设定/etc/rsyncd.conf

rsyncd.conf是rsync服务器主要配置文件。我们先来个简单的示例,后面在详细说明各项作用。

比如我们要备份服务器上的/home和/opt,在/home中我想把easylife和samba目录排除在外;

# 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 = 192.168.1.171

#uid = nobody

#gid = nobody

uid = root

gid = root

use chroot = yes

read on

ly = yes

#limit access to private LANs

hosts deny=*

max connections = 5

motd file = /etc/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

[rhel4home]

path = /home

list=yes

ignore errors

auth users = root

secrets file = /etc/rsyncd.secrets

comment = This is RHEL 4 data

exclude = easylife/ samba/

[rhel4opt]

path = /opt

list=no

ignore errors

comment = This is RHEL 4 opt

auth users = easylife

secrets file = /etc/rsyncd/rsyncd.secrets

注:关于auth users是必须在服务器上存在的真实的系统用户,如果你想用多个用户以,号隔开,比如auth users = easylife,root

设定密码文件

密码文件格式很简单,rsyncd.secrets的内容格式为:

用户名:密码

我们在例子中rsyncd.secrets的内容如下类似的;在文档中说,有些系统不支持长密码,自己尝试着设置一下吧。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/279400.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-21
下一篇2023-04-21

发表评论

登录后才能评论

评论列表(0条)

    保存