rsync 强化技术(手动修改端口开启防火墙的情况下)并且通过脚本只同步需要的服务器

简介:

rsync 强化技术(手动修改端口开启防火墙的情况下)并且通过脚本只同步需要的服务器

客户端:192.168.0.22 ,192.168.0.20

服务端:192.168.0.21(源)用来同步其他服务器


我前面写过

http://chenhao6.blog.51cto.com/6228054/1298375inotify+rsync+mutt+msmtp 实现linux文件或者目录自动更新并且实现发邮件给管理员

但是有些功能不能实现,如果让你只更新格外的几台 不全部更新,你怎么办。

这里给出方案

首先192.168.0.22 客户端配置 脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#!/bin/bash
#客户端192.168.0.22(多台)
yum -y  install  rsync
cat  >>  /etc/rsyncd .conf << EOF
uid = root
gid = root
use chroot = no
max connections = 100
timeout = 600
pid  file = /var/run/rsyucd .pid
lock  file  /var/run/rsyncd .lock
log  file  /var/log/rsyncd .log
[www]
path =  /home/www
ignore errors
read  only = no
list = no
hosts allow = 192.168.0.21 /255 .255.255.0
auth  users  = www1
secrets  file  /etc/www1 . pwd
EOF
echo  "www1:123"  >>  /etc/www1 . pwd
chmod  600  /etc/www1 . pwd
echo  "Welcome to use the rsync services"  >>  /var/rsyncd .motd
/usr/bin/rsync  --daemon
echo  "/usr/bin/rsync --daemon"  >>  /etc/rc . local

192.168.0.20 客户端配置 脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#!/bin/bash
#客户端192.168.0.20
#这些配置文件的意思以前的文章写过具体请看头上的连接
yum -y  install  rsync
cat  >>  /etc/rsyncd .conf << EOF
uid = root
gid = root
use chroot = no
max connections = 100
timeout = 600
pid  file = /var/run/rsyucd .pid
lock  file  /var/run/rsyncd .lock
log  file  /var/log/rsyncd .log
[www]
path =  /home/www
ignore errors
read  only = no
list = no
hosts allow = 192.168.0.21 /255 .255.255.0
#这里注释掉,允许谁访问如果多台就空格加192.168.0.22/255.255.255.0
auth  users  = www1
secrets  file  /etc/www1 . pwd
EOF
echo  "www1:123"  >>  /etc/www1 . pwd
chmod  600  /etc/www1 . pwd
echo  "Welcome to use the rsync services"  >>  /var/rsyncd .motd
/usr/bin/rsync  --daemon
echo  "/usr/bin/rsync --daemon"  >>  /etc/rc . local


1
1

下面关键的时刻到了

1
service iptables start

2台服务器都运行

1
2
/usr/bin/rsync  --address=192.168.0.22 --port=998 --daemon  他自己的端口
/usr/bin/rsync  --address=192.168.0.21 --port=998 --daemon  更新源端口

180101957.jpg

这里就手动指定端口了


服务端192.168.0.21的配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#客户端192.168.0.21(单台源)
yum  install  -y  rsync
touch  /root/rsync .sh
cat > /root/rsync .sh<<EOF
#!/bin/bash
ip=$( cat  /root/ip .txt)
#这里的ip.txt 是ip地址就是你想把文件更新到那几台服务器上
src= /home/www/
date =` date  +%Y-%m-%d`
des1=www
user1=www1
for  host  in  $ip
         do
                 rsync  -vzrtopg --delete --port=998 --progress ${src} ${user1}@${host}::${des1} --password- file = /etc/www1 . pwd  &&
#这里的998 是我自己指定的端口 后面有说明
         if  [ $? - eq  0 ]
         then
         echo  "${host} , $date 更新成功"  >>  /root/rsync .log 2>&1
         else
         echo  "${host} , $date 更新失败"  >>  /root/rsync .log 2>&1
fi
         done
1
2
3
echo  "123"  >>  /etc/www1 . pwd
chmod  600  /etc/www1 . pwd
chmod  +x  /root/rsync .sh

home/www目录权限必须是root.root 才行

下面截图 因为是真实环境 目录屏蔽了

174838688.jpg

这里192.168.0.21 是root@ceshi 主机名字

root@localhost root@abc 分别为192.168.0.22,192.168.0.20主机名字

下面开始测试

175043566.jpg


2台主机那边都是空的

这里再说下ip.txt 里面有什么内容

1
2
3
[root@ceshi data] # vi /root/ip.txt
192.168.0.22
192.168.0.20

175459296.jpg

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
让我们运行脚本,见证奇迹
sh  /root/rsync .sh
          829 100%  809.57kB /s     0:00:00 (xfer #4, to-check=126/132)
wh /cq *
         3877 100%    3.70MB /s     0:00:00 (xfer #5, to-check=125/132)
wh /nohup .out
      1306196 100%   41.52MB /s     0:00:00 (xfer #6, to-check=124/132)
wh /server .ver
         7287 100%  229.56kB /s     0:00:00 (xfer #7, to-check=123/132)
wh /server .ver.ver
           37 100%    1.17kB /s     0:00:00 (xfer #8, to-check=122/132)
wh /wh *
     13698828 100%   14.78MB /s     0:00:00 (xfer #9, to-check=121/132)
whserver /wh *
     11259096 100%    6.72MB /s     0:00:01 (xfer #10, to-check=120/132)
wh /wh *
     21539939 100%   10.81MB /s     0:00:01 (xfer #11, to-check=119/132)
wh /11233/
wh /abc/
wh /core/
wh /data/
wh /data/conf_ *
         1182 100%    1.28kB /s     0:00:00 (xfer #12, to-check=111/132)
wh /data/server .ver
         7287 100%    7.91kB /s     0:00:00 (xfer #13, to-check=110/132)
wh /data/server .ver.ver
           37 100%    0.04kB /s     0:00:00 (xfer #14, to-check=109/132)
wh /data/server .ver.zip
         3063 100%    3.32kB /s     0:00:00 (xfer #15, to-check=108/132)
wh /data/versions .xml
          564 100%    0.61kB /s     0:00:00 (xfer #16, to-check=107/132)
wh /data/gameconfs/
wh /data/gameconfs/ *
         6939 100%    7.51kB /s     0:00:00 (xfer #17, to-check=103/132)
wh /data/gameconfs/ *
        84401 100%   91.07kB /s     0:00:00 (xfer #18, to-check=102/132)
wh /data/gameconfs/ *
       106431 100%  114.59kB /s     0:00:00 (xfer #19, to-check=101/132)
wh /data/gameconfs/ *
       251564 100%  269.08kB /s     0:00:00 (xfer #20, to-check=100/132)
wh /data/gameconfs/ *
         1538 100%    1.65kB /s     0:00:00 (xfer #21, to-check=99/132)
wh /data/gameconfs/ *       30796 100%   32.90kB /s     0:00:00 (xfer #22, to-check=98/132)
sent 19301219 bytes  received 2275 bytes  4289665.33 bytes /sec
total size is 96052675  speedup is 4.98
sending incremental  file  list
sent 2501 bytes  received 23 bytes  5048.00 bytes /sec
total size is 96052675  speedup is 38055.73yinwe


这里的目录我都屏蔽了,公司隐秘但是技术可以分享

1
2
3
[root@ceshi data] # cat /root/rsync.log
192.168.0.22 , 2013-11-09 更新成功
192.168.0.20 , 2013-11-09 更新成功

180743647.jpg

这里大家有没有发现问题,防火墙开着的情况下为啥能访问,其实我添加端口进去了

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-I INPUT -p tcp --dport 998 -j DROP
-I INPUT -s 192.168.0.21 /32  -p tcp --dport 998 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

只允许21能访问998端口

这里实现了一起同步,如果个别同步怎么做,其实很简单,脚本已经出来了,只要修改ip.txt就行了

这里我新建个文件夹

181130742.jpg

1
2
3
4
#注释掉不需要的ip地址
[root@ceshi whserver] # vi /root/ip.txt
192.168.0.22
#192.168.0.20
1
2
3
4
5
6
[root@ceshi whserver] # sh /root/rsync.sh
sending incremental  file  list
./
abc/
sent 2523 bytes  received 30 bytes  5106.00 bytes /sec
total size is 96052675  speedup is 37623.45


181408988.jpg

这样的效果也达到了,安全也达到了,但是如果中心就做热备份2需要2台机子,怎么办,我们只需要在

1
2
3
vi  /etc/rsyncd .conf
#只需要在这个配置文件上修改这段话 加入主机即可
hosts allow = 192.168.0.21 /255 .255.255.255 192.168.0.22 /255 .255.255.255

防火墙也是一样的

1
2
3
-I INPUT -p tcp --dport 998 -j DROP
-I INPUT -s 192.168.0.21 /32  -p tcp --dport 998 -j ACCEPT
-I INPUT -s 192.168.0.20 /32  -p tcp --dport 998 -j ACCEPT

这样既保证了安全也保证了另外的需求,也可以用监控实时监控只要移动修改删除增加,都会自动同步,但是不建议,如果你只需要更新几台服务器 就用我这种办法。实验已经完成,已经同步测试。需求达到,并且端口可以自定义

1
2
/usr/bin/rsync  --address=192.168.0.22--port=998 --daemon  他自己的端口
/usr/bin/rsync  --address=192.168.0.21 --port=998 --daemon 更新源端口
本文转自 cs312779641 51CTO博客,原文链接:http://blog.51cto.com/chenhao6/1322579
相关文章
|
5月前
|
存储 机器学习/深度学习 人工智能
硅谷GPU单节点服务器:技术解析与应用全景
“硅谷GPU单节点服务器”代表了在单个物理机箱内集成强大计算能力,特别是GPU加速能力的高性能计算解决方案。它们并非指代某个特定品牌,而是一类为处理密集型工作负载而设计的服务器范式的统称。
|
10月前
|
存储 机器学习/深度学习 数据库
阿里云服务器X86/ARM/GPU/裸金属/超算五大架构技术特点、场景适配参考
在云计算技术飞速发展的当下,云计算已经渗透到各个行业,成为企业数字化转型的关键驱动力。选择合适的云服务器架构对于提升业务效率、降低成本至关重要。阿里云提供了多样化的云服务器架构选择,包括X86计算、ARM计算、GPU/FPGA/ASIC、弹性裸金属服务器以及高性能计算等。本文将深入解析这些架构的特点、优势及适用场景,以供大家了解和选择参考。
1376 61
|
8月前
|
人工智能 运维 安全
MCP协议深度解析:客户端-服务器架构的技术创新
作为一名长期关注AI技术发展的博主摘星,我深刻感受到了MCP(Model Context Protocol)协议在AI生态系统中的革命性意义。MCP协议作为Anthropic公司推出的开放标准,正在重新定义AI应用与外部系统的交互方式,其基于JSON-RPC 2.0的通信机制为构建可扩展、安全的AI应用提供了坚实的技术基础。在深入研究MCP协议规范的过程中,我发现这一协议不仅解决了传统AI应用在资源访问、工具调用和上下文管理方面的痛点,更通过其独特的三大核心概念——资源(Resources)、工具(Tools)、提示词(Prompts)——构建了一个完整的AI应用生态系统。MCP协议的客户端-
638 0
MCP协议深度解析:客户端-服务器架构的技术创新
|
8月前
|
网络协议 安全 网络安全
详细阐述 TCP、UDP、ICMPv4 和 ICMPv6 协议-以及防火墙端口原理优雅草卓伊凡
详细阐述 TCP、UDP、ICMPv4 和 ICMPv6 协议-以及防火墙端口原理优雅草卓伊凡
609 2
|
7月前
|
网络协议 Linux 网络安全
CentOS防火墙管理:查询与配置开放端口的技巧
遵循以上步骤,CentOS系统管理员能够灵活地查询和管理系统端口的开放情况,并且能适用于大多数防火墙管理场合。务必在改变防火墙规则后认真审核和测试,以确保网络安全性与服务的正常运行。
1209 0
|
11月前
|
安全 网络安全 定位技术
网络通讯技术:HTTP POST协议用于发送本地压缩数据到服务器的方案。
总的来说,无论你是一名网络开发者,还是普通的IT工作人员,理解并掌握POST方法的运用是非常有价值的。它就像一艘快速,稳定,安全的大船,始终为我们在网络海洋中的冒险提供了可靠的支持。
321 22
|
11月前
|
存储 机器学习/深度学习 算法
阿里云X86/ARM/GPU/裸金属/超算等五大服务器架构技术特点、场景适配与选型策略
在我们选购阿里云服务器的时候,云服务器架构有X86计算、ARM计算、GPU/FPGA/ASIC、弹性裸金属服务器、高性能计算可选,有的用户并不清楚他们之间有何区别。本文将深入解析这些架构的特点、优势及适用场景,帮助用户更好地根据实际需求做出选择。
|
11月前
|
存储 机器学习/深度学习 人工智能
阿里云第八代云服务器c8i与g8i深度解析:技术对比、场景适配与选购指南
阿里云服务器计算型c8i与通用型g8i实例属于阿里云的第八代云服务器实例规格,是除了计算型c7与c8y和通用型g7与g8y之外同样深受用户喜欢的云服务器实例规格。本文将详细解析计算型c8i与通用型g8i实例的技术特性、适用场景、性能优势,以及最新的活动价格情况,并为用户提供购买建议。
|
11月前
|
存储 弹性计算 人工智能
阿里云服务器ECS g8i实例怎么样?新一代g8i实例技术特性与场景应用解析
阿里云服务器ECS g8i实例怎么样?对于很多企业用户说,云服务器的性能、安全性和AI能力是用户非常关注的。无论是处理大规模数据、运行复杂算法,还是保障业务应用的安全,都需要云服务器具备卓越的性能和强大的功能。阿里云推出的第八代云服务器ECS g8i实例,凭借其卓越的性能、增强的AI能力和全面的安全防护,成为了市场关注的焦点。本文将为大家解析ECS g8i实例的技术特性、产品优势、适用场景及与同类产品的对比,同时介绍其收费标准和活动价格,以供大家了解和选择。
阿里云服务器ECS g8i实例怎么样?新一代g8i实例技术特性与场景应用解析
|
存储 弹性计算 安全
ECS与VPS技术角力:从算力成本到免备案雷区,企业服务器选型合规指南
在数字化浪潮中,服务器选择至关重要。ECS(云服务器)和VPS(虚拟专用服务器)是热门选项。ECS基于云计算,提供高可用性和弹性伸缩,适合大型项目;VPS通过分割物理服务器实现资源独立,成本较低,适合小型应用。两者在网络、存储及计算性能上各有优劣,需根据需求选择。国内并不存在合法的免备案服务器,建议严格遵守法规,确保网站合法运营。
616 3