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

你可能感兴趣的:(服务器配置)