日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

rsync同步数据到内网

發布時間:2025/3/8 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 rsync同步数据到内网 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? 最近公司要求將IDC的APP日志備份到公司辦公網內部,思前想后,結合以前學過的知識,決定用rsync直接推送,即從APP服務器上直接將日志推送到公司內網。這樣避免了在生產服務器上額外安裝更多軟件而且只需要進行簡單的配置,從運維的角度看簡化了排錯步驟,同時降低了安全風險,簡要網絡拓撲圖如下:


??



提示:辦公區服務器192.168.1.202上的rsync服務端口為873,映射到公網10.0.0.10上的端口為51873


實驗環境

IDC機房內網服務器:

[root@server101?~]#?cat?/etc/redhat-release? CentOS?release?6.4?(Final) [root@server101~]#?uname?-m x86_64 [root@Fabric-64?~] [root@server101?~]#?uname?-r 2.6.32-358.el6.x86_64 [root@server101?~]# [root@server101?~]#ifconfig?eth0 eth0??????Link?encap:Ethernet??HWaddr?00:50:56:90:A1:DA??inet?addr:192.168.168.101??Bcast:192.168.168.255??Mask:255.255.255.0

公司辦公區機房內部服務器:

[root@server202?~]#?cat?/etc/redhat-release? CentOS?release?6.4?(Final) [root@server202~]#?uname?-m x86_64 [root@Fabric-64?~] [root@server202?~]#?uname?-r 2.6.32-358.el6.x86_64 [root@server202?~]# [root@server202?~]#ifconfig?eth0 eth0??????Link?encap:Ethernet??HWaddr?00:50:56:90:A1:DA??inet?addr:192.168.1.202?Bcast:192.168.168.255??Mask:255.255.255.0


說明:這里規定公司辦公區服務器作為rsync的服務端,所以rsync的主服務程序運行在192.268.1.202上,數據流向是從IDC機房內部服務器到辦公網內部服務器


rsync服務端進行配置


①rsync服務配置文件如下:

[root@server1-202?~]#?vim?/etc/rsyncd.conf? #rsync_config uid?=?www gid?=?www use?chroot?=?no max?connections?=?200 timeout?=?300 pid?file?=?/var/run/rsyncd.pid lock?file?=?/var/run/rsync.lock log?file?=?/var/log/rsyncd.log [datacenter] path?=?/data/datacenter/apps/approval ignore?errors read?only?=?false list?=?false #hosts?allow?=?0.0.0.0/24 #hosts?deny?=?0.0.0.0/32 auth?users?=?rsync_backup secrets?file?=?/etc/rsync.password [root@server1-202?~]#



②密碼文件內容如下:

[root@server1-202?~]#?cat?/etc/rsync.password? rsync_backup:123456 [root@server1-202?~]#

③密碼文件權限設置為600:

[root@server1-202?~]#?chmod?600?/etc/rsync.password? [root@server1-202?~]#?ll?/etc/rsync.password? -rw-------?1?root?root?23?Nov??6?10:57?/etc/rsync.password [root@server1-202?~]#


④以守護進程的模式啟動rsync(daemon模式)

[root@server1-202?~]#?rsync?--daemon?--config=/etc/rsyncd.conf [root@server1-202?~]# [root@server1-202?~]#ps?-ef|grep?rsync root?????18170?????1??0?12:27???00:00:00?rsync?--daemon?--config= /etc/rsyncd.conf root?????19989?19916??0?16:51?pts/0????00:00:00?grep?rsync [root@server1-202?~]#

客戶端安裝配置

配置之前查看是否安裝rsync

[root@server101?~]#?rpm?-q?rsync rsync-3.0.6-9.el6.x86_64 [root@server101?~]#


創建密碼文件,因為客戶端只需要指定登錄密碼即可,該密碼與服務端的密碼配置文件中的密碼要一致

[root@server101?~]#?echo?'123456'?>/etc/rsync.password [root@server101?~]#


同時給密碼文件授權600

[root@server101?~]#?chmod?600?/etc/rsync.password [root@server101?~]#?ll?/etc/rsync.password? -rw-------?1?root?root?10?11月??6?10:58?/etc/rsync.password [root@server101?~]#



測試同步結果:

[root@server101?~]#rsync?-avz?/etc/hosts?--port=51873?rsync_backup@20.0.0.20 ::datacenter?--password-file=/etc/rsync.password???????????????????????????????????????????????????????????sending?incremental?file?list hosts sent?734?bytes??received?27?bytes??1522.00?bytes/sec total?size?is?3117??speedup?is?4.10 [root@server101?~]#


?

服務端202上查看同步結果:

[root@server1-202?approval]#?pwd /data/datacenter/apps/approval [root@server1-202?approval]#? [root@server1-202?approval]#?ll -rw-r--r--?1?www?www???????3117?Oct?29?14:13?hosts [root@server1-202?approval]#


?發現文件hosts已經同步到rsync服務器的目錄/data/datacenter/apps/approval,至此數據同步完成解析來做定時任務


設置定時任務,讓該任務在每天晚上凌晨1點開始執行同步前一天的數據:

[root@server101?~]#mkdir?/server/scripts [root@server101?~]#cd?/server/scripts [root@server101?~]#vim?rsync-log.sh #!/bin/bash rsync?-avz?/usr/local/nginx/logs/app_$(date?-d?"1?day?ago"?+%Y-%m-%d).log?--port= 51873?rsync_backup@20.0.0.20::datacenter?--password-file=/etc/rsync.password [root@server101?~]#

注意:這里不要忘記了給rsync-log.sh賦予可執行權限

[root@server101?~]#chmod?+x?rsync-log.sh [root@server101?~]#? [root@server101?~]#crontab?-e #rsync?app?logs?to?datacenter?every?01:00:00 *?01?*?*?*?/bin/sh?/server/scripts/rsync-log.sh?>/dev/null?2>&1 [root@server101?~]#


保存,重啟crontab服務

[root@server101?~]# [root@server101?~]#?/etc/init.d/crond?restart 停止?crond:?????????????????????????????????????[確定] 正在啟動?crond:??????????????????????????????????[確定] [root@server101?~]#

cp 與 rsync 同名目錄同步覆蓋關系?

同名目錄同步覆蓋方法:

1、cp -rp dir1/* ?dir2/


同名不覆蓋不提示:yes no| cp -rp dir1/* ?dir2/

同名覆蓋不提示:\cp -rp dir1/* ?dir2/


2、rsync -avz dir1/ dir2/ ? ??

?or ?rsync -avz dir1/* ?dir2/


同名同步后不刪除:rsync -avz dir1/* dir2/

同名同步后刪除dir1同步過去的原文件 :rsync -avz dir1/* dir2/ --remove-sent-files


至此rsync實現遠程日志文件同步實驗配置完成,如有不妥請各位多多指點!

轉載于:https://blog.51cto.com/ucode/1710413

總結

以上是生活随笔為你收集整理的rsync同步数据到内网的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。