给大家带来rsync 强化技巧经由过程剧本只同步须要的办事器
如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的好朋友们!客户端: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-yinstallrsync
cat>>/etc/rsyncd.conf<<EOF
uid=root
gid=root
usechroot=no
maxconnections=100
timeout=600
pidfile=/var/run/rsyucd.pid
lockfile=/var/run/rsyncd.lock
logfile=/var/log/rsyncd.log
path=/home/www
ignoreerrors
readonly=no
list=no
hostsallow=192.168.0.21/255.255.255.0
authusers=www1
secretsfile=/etc/www1.pwd
EOF
echo"www1:123">>/etc/www1.pwd
chmod600/etc/www1.pwd
echo"Welcometousethersyncservices">>/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-yinstallrsync
cat>>/etc/rsyncd.conf<<EOF
uid=root
gid=root
usechroot=no
maxconnections=100
timeout=600
pidfile=/var/run/rsyucd.pid
lockfile=/var/run/rsyncd.lock
logfile=/var/log/rsyncd.log
path=/home/www
ignoreerrors
readonly=no
list=no
hostsallow=192.168.0.21/255.255.255.0
#这里正文失落,许可谁拜访假如多台就空格加192.168.0.22/255.255.255.0
authusers=www1
secretsfile=/etc/www1.pwd
EOF
echo"www1:123">>/etc/www1.pwd
chmod600/etc/www1.pwd
echo"Welcometousethersyncservices">>/var/rsyncd.motd
/usr/bin/rsync--daemon
echo"/usr/bin/rsync--daemon">>/etc/rc.local
1
1
上面症结的时辰到了
1
serviceiptablesstart
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更新源端口
这里就手动指定端口了
办事端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(单台源)
yuminstall-yrsync
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
forhostin$ip
do
rsync-vzrtopg--delete--port=998--progress${src}${user1}@${host}::${des1}--password-file=/etc/www1.pwd&&
#这里的998是我本身指定的端口前面有解释
if[$?-eq0]
then
echo"${host},$date更新胜利">>/root/rsync.log2>&1
else
echo"${host},$date更新掉败">>/root/rsync.log2>&1
fi
done
1
2
3
echo"123">>/etc/www1.pwd
chmod600/etc/www1.pwd
chmod+x/root/rsync.sh
home/www目次权限必需是root.root才行
上面截图由于是真实情况目次屏障了
这里192.168.0.21是root@ceshi主机名字
root@localhostroot@abc分离为192.168.0.22,192.168.0.20主机名字
上面开端测试
2台主机那里都是空的
这里再说下ip.txt外面有甚么内容
1
2
3
#vi/root/ip.txt
192.168.0.22
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
让我们运转剧本,见证事业
sh/root/rsync.sh
829100%809.57kB/s0:00:00(xfer#4,to-check=126/132)
wh/cq*
3877100%3.70MB/s0:00:00(xfer#5,to-check=125/132)
wh/nohup.out
1306196100%41.52MB/s0:00:00(xfer#6,to-check=124/132)
wh/server.ver
7287100%229.56kB/s0:00:00(xfer#7,to-check=123/132)
wh/server.ver.ver
37100%1.17kB/s0:00:00(xfer#8,to-check=122/132)
wh/wh*
13698828100%14.78MB/s0:00:00(xfer#9,to-check=121/132)
whserver/wh*
11259096100%6.72MB/s0:00:01(xfer#10,to-check=120/132)
wh/wh*
21539939100%10.81MB/s0:00:01(xfer#11,to-check=119/132)
wh/11233/
wh/abc/
wh/core/
wh/data/
wh/data/conf_*
1182100%1.28kB/s0:00:00(xfer#12,to-check=111/132)
wh/data/server.ver
7287100%7.91kB/s0:00:00(xfer#13,to-check=110/132)
wh/data/server.ver.ver
37100%0.04kB/s0:00:00(xfer#14,to-check=109/132)
wh/data/server.ver.zip
3063100%3.32kB/s0:00:00(xfer#15,to-check=108/132)
wh/data/versions.xml
564100%0.61kB/s0:00:00(xfer#16,to-check=107/132)
wh/data/gameconfs/
wh/data/gameconfs/*
6939100%7.51kB/s0:00:00(xfer#17,to-check=103/132)
wh/data/gameconfs/*
84401100%91.07kB/s0:00:00(xfer#18,to-check=102/132)
wh/data/gameconfs/*
106431100%114.59kB/s0:00:00(xfer#19,to-check=101/132)
wh/data/gameconfs/*
251564100%269.08kB/s0:00:00(xfer#20,to-check=100/132)
wh/data/gameconfs/*
1538100%1.65kB/s0:00:00(xfer#21,to-check=99/132)
wh/data/gameconfs/*30796100%32.90kB/s0:00:00(xfer#22,to-check=98/132)
sent19301219bytesreceived2275bytes4289665.33bytes/sec
totalsizeis96052675speedupis4.98
sendingincrementalfilelist
sent2501bytesreceived23bytes5048.00bytes/sec
totalsizeis96052675speedupis38055.73yinwe
这里的目次我都屏障了,公司隐蔽然则技巧可以分享
1
2
3
#cat/root/rsync.log
192.168.0.22,2013-11-09更新胜利
192.168.0.20,2013-11-09更新胜利
这里人人有无发明成绩,防火墙开着的情形下为啥能拜访,其实我添加端口出来了
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#Firewallconfigurationwrittenbysystem-config-firewall
#Manualcustomizationofthisfileisnotrecommended.
*filter
:INPUTACCEPT
:FORWARDACCEPT
:OUTPUTACCEPT
-AINPUT-mstate--stateESTABLISHED,RELATED-jACCEPT
-AINPUT-picmp-jACCEPT
-AINPUT-ilo-jACCEPT
-AINPUT-mstate--stateNEW-mtcp-ptcp--dport22-jACCEPT
-AINPUT-mstate--stateNEW-mtcp-ptcp--dport80-jACCEPT
-IINPUT-ptcp--dport998-jDROP
-IINPUT-s192.168.0.21/32-ptcp--dport998-jACCEPT
-AINPUT-jREJECT--reject-withicmp-host-prohibited
-AFORWARD-jREJECT--reject-withicmp-host-prohibited
COMMIT
只许可21能拜访998端口
这里完成了一路同步,假如个体同步怎样做,其实很简略,剧本曾经出来了,只需修正ip.txt就好了
这里我新建个文件夹
1
2
3
4
#正文失落不须要的ip地址
#vi/root/ip.txt
192.168.0.22
#192.168.0.20
1
2
3
4
5
6
#sh/root/rsync.sh
sendingincrementalfilelist
./
abc/
sent2523bytesreceived30bytes5106.00bytes/sec
totalsizeis96052675speedupis37623.45
如许的后果也到达了,平安也到达了,然则假如中间就做热备份2须要2台机子,怎样办,我们只须要在
1
2
3
vi/etc/rsyncd.conf
#只须要在这个设置装备摆设文件上修正这段话参加主机便可
hostsallow=192.168.0.21/255.255.255.255192.168.0.22/255.255.255.255
防火墙也是一样的
1
2
3
-IINPUT-ptcp--dport998-jDROP
-IINPUT-s192.168.0.21/32-ptcp--dport998-jACCEPT
-IINPUT-s192.168.0.20/32-ptcp--dport998-jACCEPT
如许既包管了平安也包管了别的的需求,也能够用监控及时监控只需挪动修正删除增长,都邑主动同步,然则不建议,假如你只须要更新几台办事器就用我这类方法。试验曾经完成,曾经同步测试。需求到达,而且端口可以自界说
1
2
/usr/bin/rsync--address=192.168.0.22--port=998--daemon他本身的端口
/usr/bin/rsync--address=192.168.0.21--port=998--daemon更新源端口
如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的好朋友们!
给大家带来rsync 强化技巧经由过程剧本只同步须要的办事器
说实话小时候没想过搞IT,也计算机了解也只是一些皮毛,至于什么UNIX,Linux,听过没见过,就更别说用过了。? 现在的linux操作系统如redhat,难点,红旗等,都是用这么一个内核,加上其它的用程序(包括X)构成的。 然我们对Linux的学习首先是通过对它的产生,发展,到今天仍然在不断完善开始的。 不同于Windows?系统需要花钱购买,因为Linux的核心是免费的,自由使用的,核心源代码是开放的。 现在的linux操作系统如redhat,难点,红旗等,都是用这么一个内核,加上其它的用程序(包括X)构成的。 发问的时候一定要注意到某些礼节。因为Linux社区是一个松散的组织、也不承担回复每个帖子的义务。它不是技术支持。 我们自学,就这个循环的过程中,我们学习了基本操作,用vi,shell,模拟内存的分配过程等一些OS管理。 首先Linux是开源的,这也是最主要的原因,想学windows,Unix,对不起我们没源代码。也正是因为这样,Linux才能够像滚雪球一样越滚越大,发展到现在这种规模。
页:
[1]