rsync是Linux系統下的數據鏡像備份工具。使用快速增量備份工具Remote Sync可以遠程同步,支持本地復制,或者與其他ssh、rsync主機同步
一、寶塔環境:
有寶塔軟件商城支持,參考:https://www.bt.cn/bbs/thread-98022-1-1.html
二、其他環境:
實現工具:lsyncd
lsyncd結合了inotify + rsync,Lsyncd監視本地目錄樹事件監視器接口(inotify或fsevents)。它聚合和組合事件幾秒鐘,
然后生成一個(或多個)進程(es)來同步更改。
1、安裝(lsyncd基于rsync,且要求rsync >= 3.1):
# 查看rsync版本
# rsync -v
1.1、rsync< 3.1才執行以下內容,rsync >= 3.1跳過1.1此步,直接執行1.2
#查看當前rsync版本
rsync -v
#如果版本太低,直接卸載
yum -y remove rsync
#下載rsync源碼
wget http://soft.xiaoz.org/Linux/rsync-3.1.3.tar.gz
#解壓
tar -zxvf rsync-3.1.3.tar.gz
#進入目錄
cd rsync-3.1.3
#編譯安裝
./configure
make install
最后再次輸入rsync -v查看版本是否升級成功
1.2 更新epel源
yum -y install epel-release
1.3安裝lsyncd
#安裝lsyncd
yum -y install lsyncd
#查看lsyncd版本
lsyncd –version
#配置文件位于/etc/lsyncd.conf — 是注釋符
2、 配置
2.1 配置免密登陸
如果想要將主A:192.168.0.1的數據同步到備B:192.168.0.2,主A:192.168.0.1必須擁有免密碼登錄備B:192.168.0.2的權限,
可以設置密鑰登錄來完成。只需要兩條命令即可,下面的命令在主A:192.168.0.1服務器執行:
#生成密鑰文件
ssh-keygen -t rsa
#將公鑰拷貝到B服務器 -p 配置是ssh端口 ,輸入密碼登陸拷貝
Bssh-copy-id root@192.168.0.2 -p 22000
#測試
ssh root@192.168.0.2 -p 22000
2.2 配置lsyncd
2.2.1 部分參數說明
settings為全局配置,部分參數如下:
logfile:日志文件路徑
statusFile:進程路徑
insist:繼續運行,即使有失敗的目標。
statusInterval:多少秒寫入文件,默認是10s
sync為同步配置,部分參數如下:
source:本地文件目錄
host:遠程服務器地址
targetdir:遠程目標目錄
port:目前主機ssh端口號,默認為22000
2.2.2 配置文件
vi /etc/lsyncd.conf修改配置文件,注釋或刪除掉默認的最后一行,然后添加自己的配置
settings {
logfile = “/tmp/lsyncd.log”,
statusFile = “/tmp/lsyncd.status”,
insist = true,
statusInterval = 10
}
sync {
default.rsyncssh, source=”/home”,
host=”192.168.1.2″,
targetdir=”/home”,
rsync = {
archive = true,
compress = false,
whole_file = false
},
ssh = {
port = 220000
}
}
繼續輸入命令lsyncd -nodaemon /etc/lsyncd.conf運行查看下是否有報錯,如果有報錯根據報錯情況檢查修改
如果沒有報錯直接退出后輸入命令:systemctl start lsyncd啟動lsyncd即可。
相關命令:
#啟動
systemctl start lsyncd
#停止
systemctl stop lsyncd
#重啟
systemctl restart lsyncd
#設置開機自動啟動
systemctl enable lsyncd