rsync+inotify

ssh备份源服务器(备份服务器)192.168.8.92


ssh客户端服务器(数据服务器)192.168.8.250


目的:将ssh客户端服务器(数据服务器)192.168.8.250上的/var/www/目录下的文件和目录同步到ssh备份源服务器(备份服务器)192.168.8.92上的/var/www/目录下


步骤:


1.ssh客户端服务器(数据服务器)192.168.8.250上安装rsync-3.1.0.tar.gzinotify-tools-3.13.tar.gz.


tar zxf rsync-3.1.0.tar.gz -C /usr/local/src


cd /usr/local/src/rsync-3.1.0


./configure --prefix=/usr/local/rsync


make && make install


cd


ln -s /usr/local/rsync/bin/* /usr/local/bin


tar zxf inotify-tools-3.13.tar.gz -C /usr/local/src


cd /usr/local/src/inotify-tools-3.13


./configure --prefix=/usr/local/inotify


make && make install


cd


ln -s /usr/local/inotify/bin/* /usr/local/bin


2.ssh备份源服务器(备份服务器)192.168.8.92上新建同步用户rput,并修改/etc/ssh/sshd_config文件支持ssh密钥登录


useradd rput


passwd rput


vim /etc/ssh/sshd_config


将下面两行前面的#号去掉


PubkeyAuthentication yes


AuthorizedKeysFile .ssh/authorized_keys


重启服务


service sshd restart


创建同步目录并授权


mkdir -p /var/www


setfacl -R -m user:rput:rwx /var/www


setfacl -R -m d:user:rput:rwx /var/www

//如果不行直接 chown -R rput:rput /var/www

3.ssh客户端服务器(数据服务器)192.168.8.250上创建密钥对,并将公钥cpssh备份源服务器(备份服务器)192.168.8.92上的rput用户家目录的.ssh/


cd


ssh-keygen -t rsa 然后直接回车两次


ssh-copy-id -i ./ssh/id_rsa.pub [email protected]


然后输入rput用户的密码即可实现无密码登录


4.ssh客户端服务器(数据服务器)192.168.8.250上编写同步脚本,并测试


cd


mkdir -p /var/www


vim rsync.sh


#!/bin/bash


SRC=/var/www/


DST=192.168.8.92:/var/www


USER=rput


/usr/local/bin/inotifywait -mqr -e create,move,delete,modify $SRC | while read D E F


do


rsync -avz --delete --progress $SRC $USER@$DST


done


保存退出


chmod +x rsync.sh


nohup ./rsync.sh &


/var/www目录下新建、删除、修改文件等操作,看看在ssh备份源服务器(备份服务器)192.168.8.92上有没有同步



你可能感兴趣的:(linux,rsync,inotify,rsync+inotify)