Synchronize remote repositories via Git to local server and auto update it

2018-04-13 14:28:00
Memory, Renee
Original
7996


My Requirements

  • Git server A: remote repositories on GitHub or something like that
  • Git server B: intranet I build

I want to build a repo on sever B which will auto synchronize with that on server A.


How to do it

My local repo is /www/git and let's say I want it to synchronize with https://github.com/easysoft/zsite and set it to do auto update at midnight.


mkdir /www/git/chanzhi .git
cd /www/git/chanzhi.git
git clone --mirror https://github.com/easysoft/zsite.git ./

Auto update


git --git-dir=/www/git/chanzhi.git remote update

Refer to this script which will make it easier.


#!/bin/bash
read -p "Enter local repor name:" name
read -p "Enter remote repo url:" url
if [ ! -n "$name" ];then
  echo "Not empty!"
else
  mkdir -p /www/git/crond_$name.git
  cd /www/git/crond_$name.git
  git clone --mirror $url ./
  echo "1 1 * * * git --git-dir=/www/git/crond_$name.git remote update" >> /var/spool/cron/root
  echo "http://git.lvtao.net/crond_$name.git"
fi

Done.

Write a Comment
Comment will be posted after it is reviewed.