发布系统

2020-06-07 鲁鲁槟 收藏

一、源码

发布系统.zip

二、server(被同步端)

  • 开放 873 端口

  • yum install -y rsync

  • 创建登录用户

useradd rsync_www -s /sbin/nologin -M

  • vim /etc/rsyncd.conf

log file = /var/rsyncd.log
pid file = /var/rsyncd.pid
lock file = /var/rsyncd.lock
secrets file = /etc/rsync.passwd    --验证用户的用户名和密码的存放文件,确保同步端和被同步端都要有;
read only = no
list = yes
uid = www
gid = www
use chroot = no
max connections = 100
hosts allow = 120.77.177.249        --允许同步过来的ip,即同步端的ip
[www]     
path = /mnt/wwwroot/online/test      --同步到哪里的路径
comment = wwwroot bak
auth users = rsync_www

rsyncd.zip

  • 创建登录用户的密码

echo "rsync_www:sd0rekod843jsopew93" > /etc/rsync.passwd

或者

vim /etc/rsync.passwd
rsync_www:sd0rekod843jsopew93
  • chmod 600 /etc/rsync.passwd --为了安全性,修改权限 【如果发布失败,很可能是因为这个原因】                            

  • vim /data/shell/rsync-restart.sh

#!/bin/bash
/usr/bin/rsync  --daemon --config=/etc/rsyncd.conf
echo "finish"

三、client(同步端)

  • rpm -qa|grep rsync

如果没有就要安装,yum install rsync  

  • vim /etc/rsync/client/rsync_passwd_www  

sd0rekod843jsopew93
  • chown www.www  /etc/rsync/client/rsync_passwd_www

  • chmod 600 /etc/rsync/client/rsync_passwd_www

  • vim /data/shell/rsync/rsync_new.sh

#!/bin/bash
DIR="/data/shell/rsync"
slaveip1="39.108.142.90"
 
for list in `cat $DIR/publish.txt`
do
cd "/mnt/wwwroot/test"
rsync -RaP $list rsync_www@$slaveip1::www --password-file=/etc/rsync/client/rsync_passwd_www >/tmp/publisherror.log 2>&1
if [ $? -ne 0 ];then echo "$slaveip1 $list";fi
 
done
cat /dev/null > $DIR/publish.txt
说明:其中的::www是指服务端的/etc/rsyncd.conf中的[www]

rsync_zhsh.zip

四、配置发布系统项目

  • /data/config/params-local.php

'wwwroot'=>'/mnt/wwwroot/prod_jyk999/', //线上项目目录
'testroot'=>'/mnt/wwwroot/test_jyk999/', //测试项目目录
'publish_txt'=>'/data/shell/rsync/publish.txt', //发布时的文件
'svnpro'=>[
    'wx_jyk'=>[
        'test_path'=>'wx.jyk999.com', //test_path 和 remote_path 必须保持一致,所以要求创建项目目录的时候统一
        'remote_path'=>'wx.jyk999.com',
        'svnurl'=>'svn://47.75.250.106:3694',
        'user'=>'haobin',
        'password'=>'jyk123',
        'rsync_file'=>'/data/shell/rsync/rsync_new.sh',
    ],
]
  • 发布系统默认管理员账号密码

admin = boso18soe84wvns20so

阅读 144