CentOS平台实现搭建rsync远程同步服务器的方法
<p>本文实例讲述了CentOS平台实现搭建rsync远程同步服务器的方法。分享给大家供大家参考,具体如下:</p><p>
rsync(remote synchronize)是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件,也可以使用 rsync 同步本地硬盘中的不同目录。</p><p><strong>rsync和scp的区别:</strong></p><p>
rsync支持增量同步,不管是文件数量的新增还是文件内容的新增,scp不行</p><p><strong>注意事项:</strong></p><p>
1、centos默认已经安装rsync了,输入命令rsync查看,如果无法正常工作可参考文章最后的链接进行操作<br/>
2、rsync只会增量同步,从服务器如果删除 下次同步还会有,--delete 删除目标目录比源目录多余的文件<br/>
3、同步命令可用程序执行、也可定时执行、手动执行<br/>
4、修改配置文件后 记得重启service xinetd restart<br/>
5、文件很大可先tar打包压缩后再传输</p><p>
</p><table class="jbborder"><tbody><tr class="firstRow"><td>
序号</td><td>
IP地址</td><td>
简称</td></tr><tr><td>
1</td><td>
192.168.46.32</td><td>
A机器</td></tr><tr><td>
2</td><td>
192.168.46.11</td><td>
B机器</td></tr></tbody></table><p>
</p><p>
先看下A机器上,logs文件夹下的文件:</p><div class="jb51code"><div><div class="syntaxhighlighterbash" id="highlighter_988858"><div class="toolbar">?</div><table border="0" cellpadding="0" cellspacing="0"><tbody><tr class="firstRow"><td class="gutter"><div class="line number1 index0 alt2">
1</div></td><td class="code"><div class="container"><div class="line number1 index0 alt2"><code class="bash plain"></code><code class="bash comments"># ll</code></div></div></td></tr></tbody></table></div></div><div class="codetool" id="codetool"><div class="code_n"></div></div></div><p>
总用量 4</p><div class="jb51code"><div><div class="syntaxhighlighterbash" id="highlighter_862696"><div class="toolbar">?</div><table border="0" cellpadding="0" cellspacing="0"><tbody><tr class="firstRow"><td class="gutter"><div class="line number1 index0 alt2">
1</div><div class="line number2 index1 alt1">
2</div></td><td class="code"><div class="container"><div class="line number1 index0 alt2"><code class="bash plain">-rw-r--r-- 1 root root 3 8月 30 02:29 a.txt</code></div><div class="line number2 index1 alt1"><code class="bash plain"></code><code class="bash comments">#</code></div></div></td></tr></tbody></table></div></div><div class="codetool" id="codetool"><div class="code_n"></div></div></div><p>
然后,我们在B机器上,执行同步命令如下:</p><div class="jb51code"><div><div class="syntaxhighlighterbash" id="highlighter_268538"><div class="toolbar">?</div><table border="0" cellpadding="0" cellspacing="0"><tbody><tr class="firstRow"><td class="gutter"><div class="line number1 index0 alt2">
1</div></td><td class="code"><div class="container"><div class="line number1 index0 alt2"><code class="bash plain"></code><code class="bash comments"># ll</code></div></div></td></tr></tbody></table></div></div><div class="codetool" id="codetool"><div class="code_n"></div></div></div><p>
总用量 0</p><div class="jb51code"><div><div class="syntaxhighlighterbash" id="highlighter_819796"><div class="toolbar">?</div><table border="0" cellpadding="0" cellspacing="0"><tbody><tr class="firstRow"><td class="gutter"><div class="line number1 index0 alt2">
1</div><div class="line number2 index1 alt1">
2</div><div class="line number3 index2 alt2">
3</div><div class="line number4 index3 alt1">
4</div><div class="line number5 index4 alt2">
5</div><div class="line number6 index5 alt1">
6</div><div class="line number7 index6 alt2">
7</div></td><td class="code"><div class="container"><div class="line number1 index0 alt2"><code class="bash plain"></code><code class="bash comments"># rsync -av --delete 192.168.46.32:/root/logs /root/logg/</code></div><div class="line number2 index1 alt1"><code class="bash plain">receiving incremental </code><code class="bash functions">file</code> <code class="bash plain">list</code></div><div class="line number3 index2 alt2"><code class="bash plain">logs/</code></div><div class="line number4 index3 alt1"><code class="bash plain">logs</code><code class="bash plain">/a</code><code class="bash plain">.txt</code></div><div class="line number5 index4 alt2"><code class="bash plain">sent 34 bytes received 107 bytes 282.00 bytes</code><code class="bash plain">/sec</code></div><div class="line number6 index5 alt1"><code class="bash plain">total size is 3 speedup is 0.02</code></div><div class="line number7 index6 alt2"><code class="bash plain"></code><code class="bash comments"># ll</code></div></div></td></tr></tbody></table></div></div><div class="codetool" id="codetool"><div class="code_n"></div></div></div><p>
总用量 4</p><div class="jb51code"><div><div class="syntaxhighlighterbash" id="highlighter_502346"><div class="toolbar">?</div><table border="0" cellpadding="0" cellspacing="0"><tbody><tr class="firstRow"><td class="gutter"><div class="line number1 index0 alt2">
1</div><div class="line number2 index1 alt1">
2</div></td><td class="code"><div class="container"><div class="line number1 index0 alt2"><code class="bash plain">-rw-r--r-- 1 root root 3 8月 30 02:29 a.txt</code></div><div class="line number2 index1 alt1"><code class="bash plain"></code><code class="bash comments">#</code></div></div></td></tr></tbody></table></div></div><div class="codetool" id="codetool"><div class="code_n"></div></div></div><p>
然后,我们在A机器上的log文件下,新增一个b.txt,再测试同步命令:</p><div class="jb51code"><div><div class="syntaxhighlighterbash" id="highlighter_218203"><div class="toolbar">?</div><table border="0" cellpadding="0" cellspacing="0"><tbody><tr class="firstRow"><td class="gutter"><div class="line number1 index0 alt2">
1</div><div class="line number2 index1 alt1">
2</div><div class="line number3 index2 alt2">
3</div><div class="line number4 index3 alt1">
4</div><div class="line number5 index4 alt2">
5</div><div class="line number6 index5 alt1">
6</div><div class="line number7 index6 alt2">
7</div></td><td class="code"><div class="container"><div class="line number1 index0 alt2"><code class="bash plain"></code><code class="bash comments"># rsync -av --delete 192.168.46.32:/root/logs /root/logg/</code></div><div class="line number2 index1 alt1"><code class="bash plain">receiving incremental </code><code class="bash functions">file</code> <code class="bash plain">list</code></div><div class="line number3 index2 alt2"><code class="bash plain">logs/</code></div><div class="line number4 index3 alt1"><code class="bash plain">logs</code><code class="bash plain">/b</code><code class="bash plain">.txt</code></div><div class="line number5 index4 alt2"><code class="bash plain">sent 34 bytes received 125 bytes 318.00 bytes</code><code class="bash plain">/sec</code></div><div class="line number6 index5 alt1"><code class="bash plain">total size is 5 speedup is 0.03</code></div><div class="line number7 index6 alt2"><code class="bash plain"></code><code class="bash comments">#</code></div></div></td></tr></tbody></table></div></div><div class="codetool" id="codetool"><div class="code_n"></div></div></div><p>
通过日志,我们发现如果新增一个使用rsync仅仅同步了新增的文件: 现在我们在A服务器上的log文件夹下的a.txt里面新增一行内容,再次执行同步命令:</p><div class="jb51code"><div><div class="syntaxhighlighterbash" id="highlighter_79442"><div class="toolbar">?</div><table border="0" cellpadding="0" cellspacing="0"><tbody><tr class="firstRow"><td class="gutter"><div class="line number1 index0 alt2">
1</div><div class="line number2 index1 alt1">
2</div><div class="line number3 index2 alt2">
3</div><div class="line number4 index3 alt1">
4</div><div class="line number5 index4 alt2">
5</div><div class="line number6 index5 alt1">
6</div></td><td class="code"><div class="container"><div class="line number1 index0 alt2"><code class="bash plain"></code><code class="bash comments"># rsync -av --delete 192.168.46.32:/root/logs /root/logg/</code></div><div class="line number2 index1 alt1"><code class="bash plain">receiving incremental </code><code class="bash functions">file</code> <code class="bash plain">list</code></div><div class="line number3 index2 alt2"><code class="bash plain">logs</code><code class="bash plain">/a</code><code class="bash plain">.txt</code></div><div class="line number4 index3 alt1"><code class="bash plain">sent 37 bytes received 128 bytes 330.00 bytes</code><code class="bash plain">/sec</code></div><div class="line number5 index4 alt2"><code class="bash plain">total size is 9 speedup is 0.05</code></div><div class="line number6 index5 alt1"><code class="bash plain"></code><code class="bash comments">#</code></div></div></td></tr></tbody></table></div></div><div class="codetool" id="codetool"><div class="code_n"></div></div></div><p>
我们发现rsync命令也能很好的识别出来 最后我们在来看下,同时改动,A服务器上的a和 b文件,一个新增一行,一个删除一行,来测下增量:</p><div class="jb51code"><div><div class="syntaxhighlighterbash" id="highlighter_29638"><div class="toolbar">?</div><table border="0" cellpadding="0" cellspacing="0"><tbody><tr class="firstRow"><td class="gutter"><div class="line number1 index0 alt2">
1</div><div class="line number2 index1 alt1">
2</div><div class="line number3 index2 alt2">
3</div><div class="line number4 index3 alt1">
4</div><div class="line number5 index4 alt2">
5</div><div class="line number6 index5 alt1">
6</div><div class="line number7 index6 alt2">
7</div><div class="line number8 index7 alt1">
8</div></td><td class="code"><div class="container"><div class="line number1 index0 alt2"><code class="bash plain"></code><code class="bash comments"># rsync -av --delete 192.168.46.32:/root/logs /root/logg/</code></div><div class="line number2 index1 alt1"><code class="bash plain">receiving incremental </code><code class="bash functions">file</code> <code class="bash plain">list</code></div><div class="line number3 index2 alt2"><code class="bash plain">logs/</code></div><div class="line number4 index3 alt1"><code class="bash plain">logs</code><code class="bash plain">/a</code><code class="bash plain">.txt</code></div><div class="line number5 index4 alt2"><code class="bash plain">logs</code><code class="bash plain">/b</code><code class="bash plain">.txt</code></div><div class="line number6 index5 alt1"><code class="bash plain">sent 65 bytes received 174 bytes 478.00 bytes</code><code class="bash plain">/sec</code></div><div class="line number7 index6 alt2"><code class="bash plain">total size is 10 speedup is 0.04</code></div><div class="line number8 index7 alt1"><code class="bash plain"></code><code class="bash comments">#</code></div></div></td></tr></tbody></table></div></div><div class="codetool" id="codetool"><div class="code_n"></div></div></div><p>
我们发现rsync也能很好的识别出来。 最后,我们在来看下,如何在B服务器上向A服务器上发送数据,注意,散仙刚在上面的演示,是从B服务器上下载A服务器上的数据,现在我们要演示的是如何在B服务上主动发送数据到A服务器上,原理一样,都是以增量的方式的操作的,只不过写IP的方式,变换了一下位置:</p><div class="jb51code"><div><div class="syntaxhighlighterbash" id="highlighter_257206"><div class="toolbar">?</div><table border="0" cellpadding="0" cellspacing="0"><tbody><tr class="firstRow"><td class="gutter"><div class="line number1 index0 alt2">
1</div><div class="line number2 index1 alt1">
2</div><div class="line number3 index2 alt2">
3</div><div class="line number4 index3 alt1">
4</div><div class="line number5 index4 alt2">
5</div><div class="line number6 index5 alt1">
6</div></td><td class="code"><div class="container"><div class="line number1 index0 alt2"><code class="bash plain"></code><code class="bash comments"># rsync -av --delete /root/logg/logs/b.txt 192.168.46.32:/root/</code></div><div class="line number2 index1 alt1"><code class="bash plain">sending incremental </code><code class="bash functions">file</code> <code class="bash plain">list</code></div><div class="line number3 index2 alt2"><code class="bash plain">b.txt</code></div><div class="line number4 index3 alt1"><code class="bash plain">sent 87 bytes received 37 bytes 248.00 bytes</code><code class="bash plain">/sec</code></div><div class="line number5 index4 alt2"><code class="bash plain">total size is 10 speedup is 0.08</code></div><div class="line number6 index5 alt1"><code class="bash plain"></code><code class="bash comments">#</code></div></div></td></tr></tbody></table></div></div></div><p>
希望本文所述对大家CentOS服务器配置有所帮助。</p><p><br/></p>
頁:
[1]