rsync 推送

 

兩遍服務器都安裝好rsync後  若是作推送服務 被推送的服務器的 配置文件 注意事項html

 

 

1服務端(192.168.1.241)配置的密匙文件 格式爲【運行環境】

 用戶名:密碼git

root:123456bash

 

2 客戶端(192.168.1.240)配置的密碼文件[git代碼託管]

密碼服務器

123456app

 客戶端測試推送到服務器端gitlab

 rsync -vzrtopg --delete --progress --password-file=/etc/rsyncd/rsyncd.secrets /var/opt/gitlab/git-data/gitlab-satellites/ranmufei/linksame/ root@192.168.1.241::linksame

 

 

環境服務器上面有兩個 模塊測試

(1) linksamespa

 (2)  appscode

 inotufy 及時監控git代碼修改 並推送到 服務器

/usr/local/inotify/rsync.sh orm

#!/bin/sh
srcdir=/var/opt/gitlab/git-data/gitlab-satellites/ranmufei/linksame/ #源服務器地址
dstdir=linksame #241 目標服務器
rsyncuser=root #目標服務器用戶名
rsyncpassdir=/etc/rsyncd/rsyncd.secrets #目標服務器密碼
dstip="192.168.1.241" #目標服務器ip
for ip in $dstip
do
rsync -avH --port=873 --progress --delete $srcdir $rsyncuser@$ip::$dstdir --password-file=$rsyncpassdir
done
/usr/local/inotify/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f%e' -e close_write,modify,delete,create,attrib,move $srcdir | while read file
do
for ip in $dstip
do
rsync -avH --port=873 --progress --delete $srcdir $rsyncuser@$ip::$dstdir --password-file=$rsyncpassdir
echo " ${file} was rsynced" >> /tmp/rsync.log 2>&1
done
done

 

 

啓動

   #nohup /bin/bash /root/rsync.sh &

   
開機自啓動

   #echo "nohup /bin/bash /root/rsync.sh &" >> /etc/rc.local

 

 監聽本機多個文件夾下的文件單首創建監聽文件 加入開機啓動便可

#!/bin/sh
srcdir=/var/opt/gitlab/git-data/gitlab-satellites/ranmufei/linksame/ #源服務器地址
srcdir2=/var/opt/gitlab/git-data/gitlab-satellites/ranmufei/apps/ #源服務器地址
dstdir=linksame #241 目標服務器
dstdir2=apps #241 目標服務器
rsyncuser=root #目標服務器用戶名
rsyncpassdir=/etc/rsyncd/rsyncd.secrets #目標服務器密碼
dstip="192.168.1.241" #目標服務器ip

##################linksame###############
rsync -avH --port=873 --progress --delete $srcdir $rsyncuser@$dstip::$dstdir --password-file=$rsyncpassdir


/usr/local/inotify/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f%e' -e close_write,modify,delete,create,attrib,move $srcdir | while read file
do

rsync -avH --port=873 --progress --delete $srcdir $rsyncuser@$dstip::$dstdir --password-file=$rsyncpassdir
echo " ${file} was rsynced" >> /tmp/rsync.log 2>&1

done

 

 

 一鍵安裝包 服務器端 並無安裝git命令  若是要在服務器上面使用git 請單獨安裝 git

yum install -y git

 

參考

  http://www.osyunwei.com/archives/7435.html

相關文章
相關標籤/搜索