中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Linux怎么實現本、異地遠程數據實時同步功能

發布時間:2021-11-04 17:44:42 來源:億速云 閱讀:392 作者:柒染 欄目:建站服務器

這期內容當中小編將會給大家帶來有關Linux怎么實現本、異地遠程數據實時同步功能,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

0x0 測試環境

總部生產服務器與分部備份服務器要求實現異地數據備份,環境如下

**centos 6.5**
生產服務器目錄: /home/zytest/files
備份服務器目錄: /home/zytest/files
用戶 / 密碼: zytest / zytest

0x1 生產服務器環境搭建

0x1.1 安裝gcc編譯器和rsync

yum install gcc rsync -y

0x1.2 拷貝inotify到服務器并解壓

cd /root 
tar xfvz inotify-tools-3.13.tar.gz

0x1.3 進入inotify 目錄安裝

cd inotify-tools-3.13
./configure
make
make install     
 
/usr/local/bin/inotifywait ##檢查是否安裝成功

0x2 備份服務器環境搭建

0x2.1 安裝 xinetd 和 rsync

yum install xinetd rsync -y

0x3 以下內容兩臺服務器同步操作

useradd -u 600 zytest 
 passwd zytest    
 zytest
 su - zytest -c 'mkdir /home/zytest/files' ##創建同步目錄

0x4 備份服務器上配置rsyncd

0x4.1 編輯/etc/xinetd.d/rsync按照以下內容修改

disable  = yes  ==> disable  = no
flags        = IPv6  ==> flags       = IPv4
server_args = --daemon ==> server_args = --daemon --config=/etc/rsyncd.conf

0x4.2 編輯/etc/rsyncd.conf 并添加以下 腳本信息

uid = root
gid = root
use chroot = no
max connections = 1000
strict mode = yes
port = 873
pid file = /var/run/rsyncd.pid 
lock file = /var/run/rsyncd.lock 
log file = /var/log/rsyncd.log
# following for user "zytest", change for other users
[zytest]
path = /home/zytest
ignore errors
auth users =zytest
secrets file = /home/rsync-dst.ps
read only = no
list = false

Ps: rsyncd 配置文件在 xinetd上,所以備份服務器安裝xinetd

0x4.3 把密碼寫入調用的密碼文件并賦予權限

echo zytest:zytest >> /home/rsync-dst.ps
chmod 600 /home/rsync-dst.ps

0x4.4 通過xinetd啟動rsync

/etc/rc.d/init.d/xinetd restart

0x5 主服務器上配置inosync 腳本文件

** ##編輯/root/inosync添加腳本代碼**

#!/bin/sh
#chkconfig: 3 78 10
 
#This file exist from compile
if [ ! -f /usr/local/bin/inotifywait ]
then
 echo "cannot start. file inotifywait NOT exist!"
 exit
fi
 
#This file is runnable shell script
if [ ! -f /usr/local/bin/inosync.so.1 ]
then
 echo "contact administrator. inosync.so.1 NOT exist!"
 exit
fi
 
case "$1" in
 'start')
 /usr/local/bin/inosync.so.1 &
;;
 
'stop')
 pid=`ps -ef | grep -v grep | grep "inotifywait" | awk '{print $2}'`
 kill -9 $pid 2>&1
;;
 
'restart')
 $0 stop
 $0 start
;;
 
esac

0x5.2 賦予腳本權限,設置開機啟動

chmod a+x /root/inosync
 cp /root/inosync /etc/rc.d/init.d

0x5.3 配置調用的主腳本文件 /root/inosync.so.1

rhost=**備份服務器IP**
user=zytest
src=/home/zytest/files
dst=zytest
#dst corresponding to [zytest] in file /etc/rsyncd.conf on dst server
log=/root/inosync.log
/usr/local/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M:%S' --format '%T %w%f %e' -e close_write,create,move,delete,attrib $src | while read files
 do
 echo == rsync begin == >> $log
 rsync -avP --password-file=/home/rsync-src.ps --delete $src $user@$rhost::$dst >> $log 2>&1
 echo -- rsyncd -- >> $log
 date >> $log
 echo "${files} was rsynced " >> $log 2>&1
 done

PS: %T后面有空格 %f和%e之間也有空格

0x5.4 賦予inosync.so.1腳本權限,拷貝到/usr/local/bin

chmod a+x /root/inosync.so.1
cp /root/inosync.so.1 /usr/local/bin

0x5.5 把密碼寫入調用的密碼文件并賦予權限

echo zytest >> /home/rsync-src.ps
chmod 600 /home/rsync-src.ps

0x6 目標服務器設置inosync自動啟動并開啟inosync服務

chkconfig --level 3 inosync on
/etc/rc.d/init.d/inosync start

0x7 測試 END

在生產服務器/home/zytest/files目錄下創建文件和文件夾,查看備份存儲是否也同步了文件和文件夾,同步即成功。
過程可通過日志查看

tail -f /root/inosync.log

到此這篇關于Linux 通過Rsync+Inotify實現本、異地遠程數據實時同步功能的文章就介紹到這了。

上述就是小編為大家分享的Linux怎么實現本、異地遠程數據實時同步功能了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

房山区| 鄂伦春自治旗| 公主岭市| 新建县| 汉沽区| 文山县| 友谊县| 徐水县| 额尔古纳市| 兴安盟| 霍林郭勒市| 鹿邑县| 内黄县| 临沂市| 无极县| 沙田区| 晋宁县| 革吉县| 金乡县| 长顺县| 全椒县| 八宿县| 洪泽县| 洛扎县| 孝义市| 佛山市| 荃湾区| 鸡东县| 深圳市| 潜江市| 江阴市| 潢川县| 儋州市| 栾城县| 西城区| 石景山区| 平湖市| 京山县| 新蔡县| 湘阴县| 芦溪县|