rsync同步指南(客户端是主服务器,服务端是从服务器)

1、rsyncremote sync linux自带镜像同步工具,可以镜像保存文件夹和目录树。其传输方式通过sshscp等加密传输。

2、公钥认证配置:即客户机到服务器不需要密码登陆,使用公钥登录(公钥在服务器上相当于一把锁,私钥在客户端上相当于一把钥匙)。

3、生成密钥对:在客户机上输入:ssh-keygen -t rsa ,于是就生成了一对密钥,其中~./ssh/id_rsa.pub是公钥,~/.ssh/id_rsa是私钥。

4、将公钥复制到服务器上:在客户端输入:

scp .ssh/id_rsa.pub red5@10.10.4.207:/red5/.ssh/authorized_keys(目录自己匹配,工作目录下)

或者:

ssh-copy-id -i .ssh/id_rsa.pub red5@10.10.4.207(自动写入.ssh/authorized_keys,不存在会自动创建)。

5、登录测试:客户机输入:ssh red5@10.10.4.207

6、同步配置脚本

#在主服务器上新建脚本:(可通过apt-get install vim安装vim编辑器)

>vim  backup.sh

#脚本内容

#/bin/bash

RSYNC=/usr/bin/rsync #rsync同步命令

SSH=/usr/bin/ssh #ssh登录命令

KEY=/root/.ssh/id_rsa #ssh登录密钥对

RUSER=red5

RHOST=10.10.4.207#需要同步到的从服务器

RPATH=/home/red5/red5-server-1.0/webapps/oflaDemo/streams/#从服务器目录镜像位置

LOATH=/home/red5/red5-server-1.0/webapps/oflaDemo/streams#主服务器目录镜像位置

$RSYNC -avzP -e --delete --include=*.flv --exclude=* -e $SSH - i $KEY -p 22 $LPATH  $RHOST:$RPATH


7、运行脚本:

 #给脚本加上可执行权限

 >chmod +x backup.sh

 #第一次运行,(运行一次脚本,第一是为了测试脚本,第二是第一次运行脚本系统连接会让操作者确认一次连接请求,之后就不会了。)

 >./backu.sh

8.设置定时运行:

 >crontab -e

 在最后面添加如下:

0 1 * * * /root/backup.sh

#表示每天半夜1点自动同步执行(可自行更具实际需求修改自动运行时间,也可以即时运

#行)。

9、配置ino_rsync脚本

首先,安装inotify-toolssudo apt-get install inotify-tools

编辑脚本:vim ino_rsync

#!/bin/bash

src=/home/red5/red5-server-1.0/webapps/folaDemo/streams

/usr/local/bin/inotifywait -mrq --timefmt %d%m%y %H:%M --format %T %w%f%e -e modify,delete,create,attrib $src \

|while read files

do

/home/red5/backup.sh

#/usr/bin/rsync -vztopg --delete --progress --password-file=/etc/rsyncd.passwd $src $user@$host::$dst

echo ${files} was rsynced >> /tmp/rsync.log2>&1

然后,执行脚本:sudo chmod +x ino_rsync.sh(可能要改权限)

./ino_rsync.sh