-------------------------从服务器配置-------------------------
#cd /home/ && mkdir rsync && cd rsync
#ssh-keygen -t dsa -b 2048 -f rsync-key
呵呵,生成了:rsync-key rsync-key.pub两个文件,其中rsync-key为私钥,rnync-key.pub是公钥,要传到主服务器做认证的。写从服务器端脚本:
#!/bin/sh
RSYNC=/usr/bin/rsync #rsync位置
SSH=/usr/bin/ssh #ssh位置
KEY=/home/rsync/rsync-key #私钥位置
RUSER=rsyncuser #主服务器帐号
RHOST=192.168.100.5 #主服务器IP
RPATH=/home/web #主服务器端代码目录
LPATH=/home #从服务器代码目录/home/web,这时只能写/home
$RSYNC -avu --delete --exclude "WEB-INF/logs/" --exclude "WEB-INF/work/" -e "$SSH -i $KEY" $RUSER@$RHOST:$RPATH $LPATH
#--exclude不要同步WEB-INF/logs/、WEB-INF/work/这两个目录。
#--delete主服务器删除文件,从服务器也要删除。
#-a --archive 归档模式,表示以递归方式传输文件,并保持所有文件属性。
#-v, --verbose 详细模式输出。
#-u, --update 仅仅进行更新,也就是跳过所有已经存在于DST,并且文件时间晚于要备份的文件。(不覆盖更新的文件) 。
定作业:
crontab -e
*/5 * * * * /home/rsync/rsync.sh #每5分钟运行一次。
------------------------主服务器配置--------------------------
#useradd rsyncuser
#su rsyncuser
#cd /home/rsyncuser
#if [ ! -d .ssh ]; then mkdir .ssh ; chmod 700 .ssh ; fi
#mv rsync-key.pub(从服务器生成的公钥) .ssh/
#cd .ssh/
SSH1:#cat rsync-key.pub >> authorized_keys
SSH2:#ssh-keygen -X -f rsync-key.pub >> authorized_keys2
chmod 600 authorized_keys //这一步一定要做,特殊权限要求。
我用的是SSH2,但用SSH2的方式有一个提示长度越界的错误,那就用SSH1的方法也没问题。
#cd /home/ && mkdir rsync && cd rsync
#ssh-keygen -t dsa -b 2048 -f rsync-key
呵呵,生成了:rsync-key rsync-key.pub两个文件,其中rsync-key为私钥,rnync-key.pub是公钥,要传到主服务器做认证的。写从服务器端脚本:
引用
#!/bin/sh
RSYNC=/usr/bin/rsync #rsync位置
SSH=/usr/bin/ssh #ssh位置
KEY=/home/rsync/rsync-key #私钥位置
RUSER=rsyncuser #主服务器帐号
RHOST=192.168.100.5 #主服务器IP
RPATH=/home/web #主服务器端代码目录
LPATH=/home #从服务器代码目录/home/web,这时只能写/home
$RSYNC -avu --delete --exclude "WEB-INF/logs/" --exclude "WEB-INF/work/" -e "$SSH -i $KEY" $RUSER@$RHOST:$RPATH $LPATH
#--exclude不要同步WEB-INF/logs/、WEB-INF/work/这两个目录。
#--delete主服务器删除文件,从服务器也要删除。
#-a --archive 归档模式,表示以递归方式传输文件,并保持所有文件属性。
#-v, --verbose 详细模式输出。
#-u, --update 仅仅进行更新,也就是跳过所有已经存在于DST,并且文件时间晚于要备份的文件。(不覆盖更新的文件) 。
定作业:
crontab -e
*/5 * * * * /home/rsync/rsync.sh #每5分钟运行一次。
------------------------主服务器配置--------------------------
引用
#useradd rsyncuser
#su rsyncuser
#cd /home/rsyncuser
#if [ ! -d .ssh ]; then mkdir .ssh ; chmod 700 .ssh ; fi
#mv rsync-key.pub(从服务器生成的公钥) .ssh/
#cd .ssh/
SSH1:#cat rsync-key.pub >> authorized_keys
SSH2:#ssh-keygen -X -f rsync-key.pub >> authorized_keys2
chmod 600 authorized_keys //这一步一定要做,特殊权限要求。
我用的是SSH2,但用SSH2的方式有一个提示长度越界的错误,那就用SSH1的方法也没问题。
你这里的从服务器和主服务器端分别指的是?
目录:
RPATH=/home/web #主服务器端代码目录
LPATH=/home #从服务器代码目录
你这个代码目录指的是控制端的web 代码还是控制端脚本?
例如:如果是web代码是不是/www/TianyaLVS这个目录地址就可以了,不要细分下去?