实践rsync+ssh实现代码同步[原创] 不指定

root , 2007/08/21 23:20 , Linux , 评论(7) , 阅读(24108) , Via 本站原创 | |
-------------------------从服务器配置-------------------------
#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的方法也没问题。
Tags:
handl
2014/03/14 18:37
天斯兄,其实未必要配置rsyncd .conf也可以同步的。
englishp744 Email Homepage
2011/09/27 17:19
Thank bloggers to share and support!
john Email
2011/09/23 19:53
你好:
        你这里的从服务器和主服务器端分别指的是?
       目录:
        RPATH=/home/web #主服务器端代码目录
        LPATH=/home #从服务器代码目录
        你这个代码目录指的是控制端的web 代码还是控制端脚本?
        例如:如果是web代码是不是/www/TianyaLVS这个目录地址就可以了,不要细分下去?
刘天斯 回复于 2011/09/23 21:27
指你需要被同步的目录,通常是web站点所在目录。
john Email
2011/09/23 15:19
你说的同步指得是什么?
刘天斯 回复于 2011/09/23 18:37
同步定制的目录文件。
john Email
2011/09/23 15:12
从服务器配置和主服务器配置分别在哪里执行?
刘天斯 回复于 2011/09/23 18:36
只需要从服务器中定制crontab。
GG
2010/03/17 12:11
master是tianyaLVS的管理端吗,slave是 LVS虚IP端?
刘天斯 回复于 2010/03/17 12:37
func master与tianyaLVS在管理端服务器,slave包括lvs master、lvs backup、real server。
一生何求
2010/03/17 10:19
你好,这里的主从是指LVS-HA的主从吗,  我的理解RSYNC是同步LVS-HA数据到管理端再画图.   这里做LVS间的SSH是什么用处?谢谢!
刘天斯 回复于 2010/03/17 10:54
同步LVS master的图表rrd文件,你也可以通过FTP,但相应的ssh要做修改。
分页: 1/1 第一页 1 最后页
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]