设为首页 加入收藏

TOP

使用Subversion实现网站自动更新(二)
2015-11-21 01:30:44 来源: 作者: 【 】 浏览:2
Tags:使用 Subversion 实现 网站 自动 更新
WEB2 安装通过WEB1,唯一不同的内容如下: uid=nobody gid=nobody use chroot=no max connections=10 strict modes=yes pidfile=/var/run/rsyncd.pid lock file=/var/run/rsyncd.lock logfile=/var/log/rsyncd.log [data2] path=/data/wwwroot/htdocs/ ignore errors read only=no write only=no hostsallow=172.16.100.0/24 host deny=* list=no uid=root gid=root auth users=root secretsfile=/etc/rsyncd/rsyncd.secrets 外网测试服(rsync + inotify 客户端) 安装rsync wget http://rsync.samba.org/ftp/rsync/src/rsync-3.1.0.tar.gz tar zxvfrsync-3.1.0.tar.gz cd rsync-3.1.0 ./configure--prefix=/usr/ make &&make install mkdir -p/etc/rsyncd cd /etc/rsyncd/ touch rsyncd.password echo"1q2w3e4r5t6y" > rsyncd.password chmod 600 rsyncd.password mkdir -pv/data/wwwroot/htdocs 安装inotify-tools rpm -ivh http://mirrors.hustunique.com/epel/6/x86_64/epel-release-6-8.noarch.rpm yum makecache yum installinotify-tools inotify-tools-devel –y 自动同步脚本后台运行【保证更新到测试服上的代码正确性】 vim /root/rsync_auto.sh #!/bin/bash # Author by:Tommy.Gandolf # HOST1=172.16.100.100 HOST2=172.16.100.105 SRC=/data/wwwroot/htdocs/ DST1=data1 DST2=data2 USER=root /usr/bin/inotifywait-mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f%e' -emodify,delete,create,attrib $SRC | whileread read date time dir files; do /usr/bin/rsync -vzrtopg --delete --progress--password-file=/etc/rsyncd/rsyncd.secrets $SRC $USER@$HOST1::$DST1 --exclude='.svn/' --exclude='.settings/'--exclude='.project' /usr/bin/rsync -vzrtopg --delete --progress--password-file=/etc/rsyncd/rsyncd.secrets $SRC $USER@$HOST2::$DST2 --exclude='.svn/' --exclude='.settings/'--exclude='.project' echo "${files} was rsynced">>/tmp/rsync.log 2>&1 done # chmod +x rsync_auto.sh # nohup sh rsync_auto.sh & > /dev/null 备注:如果同步的目录有内同,不能触发同步,请先在同步目录创建一个文件,尝试触发同步文件。
??????????? 手动同步脚本【推荐此方案】
??????????? 说明:测试OK,手动推送到正式服务器
# vim  rsync.sh
#!/bin/bash
# Author by:Tommy.Gandolf
#
HOST1=172.16.100.100
HOST2=172.16.100.105
SRC=/data/wwwroot/htdocs/
DST1=data1
DST2=data2
USER=root
        /usr/bin/rsync   -vzrtopg --delete --progress--password-file=/etc/rsyncd/rsyncd.secrets $SRC $USER@$HOST1::$DST1 --exclude='.svn/' --exclude='.settings/'--exclude='.project'
        /usr/bin/rsync   -vzrtopg --delete --progress--password-file=/etc/rsyncd/rsyncd.secrets $SRC $USER@$HOST2::$DST2 --exclude='.svn/' --exclude='.settings/'--exclude='.project'
        echo "${files} was rsynced">>/tmp/rsync.log 2>&1

配置内核参数
Inotify默认内核参数值太小
默认参数:
# sysctl? -a | grep max_queued_events
fs.inotify.max_queued_events = 16384

?

# sysctl -a |? grep max_user_watches
fs.inotify.max_user_watches = 8192
fs.epoll.max_user_watches= 148131
# sysctl? -a | grep max_user_instances
fs.inotify.max_user_instances = 128
修改:vim /etc/sysctl.conf
fs.inotify.max_queued_events = 99999999
fs.inotify.max_user_watches = 99999999
fs.inotify.max_user_instances = 65535
# sysctl? -p
FAQ
Rsync 常用用法

1.在本地机器上对两个目录进行同步

rsync -zvr /data/wwwroot/htdocs/ /tmp/
参数:-z 开启压缩,-v 详细输出 –r 表示递归 –a 保留时间标记

2.仅同步一个文件

rsync? -azvr /data/wwwroot/htdocs/test.txt /tmp/

3.从本地同步到远程

rsync -avz /data/wwwroot/htdocs/ root@172.16.100.105:/data/wwwroot/htdocs_test/

4.同步远程到本地

?rsync -avz root@172.16.100.105:/r
首页 上一页 1 2 3 下一页 尾页 2/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇mysql学习笔记之五(触发器) 下一篇Redis3.0--集群安装部署

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: