一鍵備份gitolite服務(wù)器的Shell腳本
更新時(shí)間:2014年09月01日 15:59:19 投稿:mdxy-dxy
這篇文章主要介紹了一鍵備份gitolite服務(wù)器的Shell腳本,需要的朋友可以參考下
運(yùn)行一次就能夠把gitolite服務(wù)器上的倉庫備份到本地. 第一次運(yùn)行會(huì)創(chuàng)建遠(yuǎn)程倉庫的本地鏡像, 以后每次運(yùn)行會(huì)把本地鏡像更新.
本程序只支持 ssh方式
其他的git server貌似不會(huì)在 ssh git@xxx 的時(shí)候返回repo列表, 所以只能手動(dòng)備份.
#!/bin/sh server=serv_addr
root_dir=`pwd`
echo "whill back in dir: ${root_dir}"
ssh "git@${server}" | awk '{print $1$2,$3}' | grep "^RW" | awk '{print $2}' | while read line do
echo " "
echo "-------------------------------------"
if [ ! -d "${root_dir}/${line}.git" ]; then
echo "repo not init on local, init it ..."
mkdir -p "${root_dir}/${line}.git"
cd "${root_dir}/${line}.git"
cd ..
git clone --mirror "git@${server}:${line}.git"
else
echo "repo already init on local, update it ..."
cd "${root_dir}/${line}.git"
git remote update
git gc
fi done
相關(guān)文章
Bash的For循環(huán)(根據(jù)每次遞增的數(shù))
需要執(zhí)行一個(gè)命令,每次消除500個(gè)id,通常寫的是遞增1的,記一筆,怕忘了2013-08-08
linux shell查看當(dāng)前外網(wǎng)IP
這篇文章主要介紹了如何在LINUX操作系統(tǒng)下查看本地IP地址(在SHELL下)的相關(guān)資料,需要的朋友可以參考下2015-09-09
Shell中實(shí)現(xiàn)整數(shù)自增的幾種方法示例
Linux Shell中寫循環(huán)時(shí),常常要用到變量的自增,下面這篇文章主要給大家分享了關(guān)于Shell中實(shí)現(xiàn)整數(shù)變量自增的幾種方法,包括declare -i來聲明、使用let命令、使用(())以及使用expr命令等等方法,需要的朋友可以參考借鑒,下面來一起看看吧。2017-08-08
shell監(jiān)控系統(tǒng)資源并通過短信報(bào)警的腳本
這篇文章主要介紹了shell監(jiān)控系統(tǒng)資源并通過短信報(bào)警的腳本,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-12-12

