rsync+inotify-tools

一.安裝

remote synchronsize是一個遠程數據同步工具

apt-get install rsync

apt-get install inotify-tools

默認端口873

二.指令

權限配置

chmod 600 /etc/rsync.passwd

查看端口運行

lsof -i:873

殺死進程

kill -9 4353

 

三.服務端

1.本地同步

rsync -avz /backup2/ /backup/

backup2:源目錄

backup:目標目錄

2.遠程-需要root輸入密碼

rsync -avz 119.23.111.40:/backup/ /backup/

/backup/:源代碼目錄

/backup/:目標目錄

3.遠程

配置文件

uid=root

gid=root

use chroot=not

max connections=5

timeout=600

pid file=/var/run/rsyncd.pid

lockfile=/var/run/rsyncd.lock

log file=/var/log/rsyncd.log

[auth]

path=/web/rsync/auth_data

ignore errors=yes

read only=no

write only=no

list=yes

auth users=root

secrets file=/etc/rsync.passwd

密碼文件

vi /etc/rsync.passwd

root:root

運行rsync配置文件

/usr/bin/rsync --daemon --config=/etc/rsyncd.conf

本地測試-輸入模塊密碼

rsync -avz [email protected]::auth /backup/

 

四.客戶端

1.指令運行

rsync -avz /backup/ [email protected]::auth

2.配置密碼文件

vi /etc/rsync.pass

root

3.腳本運行

src=/backup/

[email protected]::auth

/usr/bin/inotifywait -mr --timefmt '%d/%m/%y %H:%M' --format '%T %w%f%e' -e modify,delete,create,attrib $src | while read files        do

        rsync -vzrtopg --delete  --progress --password-file=/etc/rsync.pass $src $dst

        done

exit 0

 

五.window服務端同步linux

1.windowsvn服務器上倉庫hook

post-commit.bat

SET REPOS=%1  
SET USER=%2  
SET SVN="C:\Program Files\VisualSVN Server\bin\svn.exe"  
SET DIR="C:\workspace\itstation\h5"  
(call %SVN% update %DIR% --username egg --password egg****** --non-interactive)

2.同步

@echo off
set RSYNC_HOME=C:\Program Files (x86)\cwRsync\bin
cd %RSYNC_HOME%
C:
rsync -vzrtopg --progress --delete /cygdrive/c/workspace/itstation/h5 [email protected]::auth

3.定時任務

win7:控制面板->管理工具->任務計劃程序->創建基本任務,選擇執行bat

4.配置啓動權限

services.msc->找到VisualSVN Server->設置管理員賬號->關閉啓動服務

注意:

1.權限設置默認網絡,需要設置爲管理者

2.同步目錄必須是checkout下來根目錄,否則無法回調執行post-commit.bat

鏈接

https://www.cnblogs.com/janas/p/3321087.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章