Linux 服务器集群下同步目录文件 - rsync

简介: Linux 服务器集群下同步目录文件 - rsync

remote synchronize是一个远程数据同步工具,可通过 LAN/WAN 快速同步多台主机之间的文件。也可以使用 rsync 同步本地硬盘中的不同目录。

rsync 是用于替代 rcp 的一个工具,rsync 使用所谓的 rsync算法 进行数据同步,这种算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。

rsync 基于inotify 开发

一、客户端 - 主动拉取文件(不实时)

1. 安装

两端安装

yum install -y rsync

2. 服务端配置

创建密码文件

vi /etc/rsync.password
或者
echo "hello:123" > /etc/rsync.password
# 账号:密码
hello:123

修改密码文件权限

chmod 600 /etc/rsync.password

修改配置文件

vi /etc/rsyncd.conf
uid = root
gid = root
use chroot = no
max connections = 200
hosts allow = *
timeout = 600
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
ignore errors
read only = false
list = false
host deny = 0.0.0.0/32
# rsyncd 权限用户
auth users = hello
secrets file = /etc/rsync.password
transfer logging = yes
#Module definitions
# 映射路径编号 拉取时需要 编号
[www]
path = /usr/local/openresty/nginx/html/

创建监控目录

mkdir -p /data/www

启动服务

rsync --daemon

3. 客户端配置

创建密码文件(客户端只需要密码)

vi /etc/rsync.password
或者
echo "123" > /etc/rsync.password

修改密码文件权限

chmod 600 /etc/rsync.password

客户端同步数据

# hello 为服务端用户名
# 192.0.0.110 为服务端地址
# www 为服务端 文件路径编号
rsync -zvaP --password-file=/etc/rsync.password hello@192.0.0.110::www /usr/local/openresty/nginx/html/

二、主服务器 - 主动推送至客户端(实时同步)

实时同步

rsync + inotify-tools 或 rsync+sersync

1. 安装

两端安装

yum install -y rsync

2. 客户端配置

创建密码文件

vi /etc/rsync.password
或者
echo "hello:123" > /etc/rsync.password
# 账号:密码
hello:123

修改密码文件权限

chmod 600 /etc/rsync.password

修改配置文件

vi /etc/rsyncd.conf
uid = root
gid = root
use chroot = no
max connections = 200
hosts allow = *
timeout = 600
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
ignore errors
read only = false
list = false
host deny = 0.0.0.0/32
# rsyncd 权限用户
auth users = hello
secrets file = /etc/rsync.password
transfer logging = yes
#Module definitions
# 映射路径编号 拉取时需要 编号
[www]
path = /usr/local/openresty/nginx/html/

启动服务

rsync --daemon

3. 服务端配置

sersync 的方式监控目录中变化的数据,通过rsync客户端推送给rsync daemon

在数据源创建密码文件

vi /etc/rsync.password 
密码 123
或 echo “123” > /etc/rsync.password
chmod 600  /etc/rsync.password

下载sersync 并解压

wget https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/sersync/sersync2.5.4_64bit_binary_stable_final.tar.gz
tar xf sersync2.5.4_64bit_binary_stable_final.tar.gz 
cd GNU-Linux-x86/
mkdir -p  /opt/sersync/{logs,conf,bin}
cp sersync2 /opt/sersync/bin
cp confxml.xml /opt/sersync/conf/
cd /opt/sersync/conf/

编辑sersync 配置文件

vi confxml.xml 
xml中:
<localpath watch="需要监控的目录" >
  <remote ip="IP地址" name=“客户端 路径编号 即 www ” />
    ... 可 remote 多个
<auth start="true" users="客户端rsync用户名 即 hello" passwordfile="服务端密码文件路径" />

启动sersync

/opt/sersync/bin/sersync2 -d -r -o ./confxml.xml

测试

cd /需要监控的目录
touch {1,2,3,4,5,6}
目录
相关文章
|
4天前
|
运维 监控 安全
盘点Linux服务器运维管理面板
随着云计算和大数据技术的迅猛发展,Linux服务器在运维管理中扮演着越来越重要的角色。传统的Linux服务器管理方式已经无法满足现代企业的需求,因此,高效、安全、易用的运维管理面板应运而生。
|
4天前
|
运维 监控 Linux
服务器管理面板大盘点: 8款开源面板助你轻松管理Linux服务器
在数字化时代,服务器作为数据存储和计算的核心设备,其管理效率与安全性直接关系到业务的稳定性和可持续发展。随着技术的不断进步,开源社区涌现出众多服务器管理面板,这些工具以其强大的功能、灵活的配置和友好的用户界面,极大地简化了Linux服务器的管理工作。本文将详细介绍8款开源的服务器管理面板,包括Websoft9、宝塔、cPanel、1Panel等,旨在帮助运维人员更好地选择和使用这些工具,提升服务器管理效率。
|
11天前
|
Linux 开发工具 Perl
在Linux中,有一个文件,如何删除包含“www“字样的字符?
在Linux中,如果你想删除一个文件中包含特定字样(如“www”)的所有字符或行,你可以使用多种文本处理工具来实现。以下是一些常见的方法:
36 5
|
11天前
|
安全 Linux 数据安全/隐私保护
在 Linux 系统中,查找文件所有者是系统管理和安全审计的重要技能。
在 Linux 系统中,查找文件所有者是系统管理和安全审计的重要技能。本文介绍了使用 `ls -l` 和 `stat` 命令查找文件所有者的基本方法,以及通过文件路径、通配符和结合其他命令的高级技巧。还提供了实际案例分析和注意事项,帮助读者更好地掌握这一操作。
30 6
|
11天前
|
Linux
在 Linux 系统中,`find` 命令是一个强大的文件查找工具
在 Linux 系统中,`find` 命令是一个强大的文件查找工具。本文详细介绍了 `find` 命令的基本语法、常用选项和具体应用示例,帮助用户快速掌握如何根据文件名、类型、大小、修改时间等条件查找文件,并展示了如何结合逻辑运算符、正则表达式和排除特定目录等高级用法。
40 6
|
12天前
|
安全 算法 Linux
Linux 服务器还有漏洞?建议使用 OpenVAS 日常检查!
在数字化时代,Linux 服务器的安全至关重要。OpenVAS 是一款优秀的开源漏洞扫描工具,可以帮助及时发现并修复服务器中的安全隐患。本文将介绍 OpenVAS 的主要功能、使用方法及应对漏洞的措施,帮助用户加强服务器安全管理,确保企业数字化安全。
33 7
|
12天前
|
监控 Linux Perl
Linux 命令小技巧:显示文件指定行的内容
在 Linux 系统中,处理文本文件是一项常见任务。本文介绍了如何使用 head、tail、sed 和 awk 等命令快速显示文件中的指定行内容,帮助你高效处理文本文件。通过实际应用场景和案例分析,展示了这些命令在代码审查、日志分析和文本处理中的具体用途。同时,还提供了注意事项和技巧,帮助你更好地掌握这些命令。
28 4
|
15天前
|
监控 Ubuntu Linux
使用VSCode通过SSH远程登录阿里云Linux服务器异常崩溃
通过 VSCode 的 Remote - SSH 插件远程连接阿里云 Ubuntu 22 服务器时,会因高 CPU 使用率导致连接断开。经排查发现,VSCode 连接根目录 ".." 时会频繁调用"rg"(ripgrep)进行文件搜索,导致 CPU 负载过高。解决方法是将连接目录改为"root"(或其他具体的路径),避免不必要的文件检索,从而恢复正常连接。
|
18天前
|
网络协议 Linux
linux系统重要文件目录
本文介绍了Linux系统中的重要目录及其历史背景,包括根目录、/usr、/etc、/var/log和/proc等目录的结构和功能。其中,/etc目录下包含了许多关键配置文件,如网卡配置、DNS解析、主机名设置等。文章还详细解释了各目录和文件的作用,帮助读者更好地理解和管理Linux系统。
40 2
|
17天前
|
缓存 监控 Linux
下一篇
无影云桌面