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 ,否则不安全。

需要定时把客户机上的文件增量同步到服务器上,达到备份效果。

服务器:linux系统

客户机:windows系统

1.linux上安装rsync服务端;

2.windows上安装rsync客户端;

3.客户端上每5分钟触发一次同步。

# vi /usr/local/rsync/rsyncd.conf

# vi /usr/local/rsync/rsyncd.secrets

键入: # testUser:123456 后保存。

此文件权限必须设置:600:

# chmod 600 /usr/local/rsync/rsyncd.secrets

# vi /usr/local/rsync/rsyncd.motd

键入欢迎语,如:

# welcome use rsync service

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

# ps aux | grep rsyncd

# vi /etc/rc.local

键入:

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

# firewall-cmd --permanent --zone=public --add-port=873/tcp

# firewall-cmd --reload

123456

# chmod.exe 600 /cygdrive/c/etc/rsync.client.password

windows下,文件右键属性-安全-高级-修改所有者-键入administrator-检查名称-保存

C:\etc\waveform_analysis

# rsync.exe --port=873 -arvzP --timeout=30 --contimeout=30 --password-file=/cygdrive/c/etc/rsync.client.password testUser@服务器IP::testModule /cygdrive/c/etc/waveform_analysis

# rsync.exe --port=873 -arvzP --timeout=30 --contimeout=30 --password-file=/cygdrive/c/etc/rsync.client.password /cygdrive/c/etc/waveform_analysis/ testUser@服务器IP::testModule

rsync的缺陷在于无法实现主动触发同步,可以安装成服务,然后定时执行同步,比如每5分钟触发一次同步:

使用 nssm 把 bat 安装成 windows 服务 - (jianshu.com)

配置文件

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/191698.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存