rsync同步指南(客户端是主服务器,服务端是从服务器)
1、rsync:remote sync ,linux自带镜像同步工具,可以镜像保存文件夹和目录树。其传输方式通过ssh、scp等加密传输。
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-tools:sudo 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
转载于:https://blog.51cto.com/laoyaowst/1266414