一鍵備份gitolite服務器的Shell腳本
更新時間:2014年09月01日 15:59:19 投稿:mdxy-dxy
這篇文章主要介紹了一鍵備份gitolite服務器的Shell腳本,需要的朋友可以參考下
運行一次就能夠把gitolite服務器上的倉庫備份到本地. 第一次運行會創(chuàng)建遠程倉庫的本地鏡像, 以后每次運行會把本地鏡像更新.
本程序只支持 ssh方式
其他的git server貌似不會在 ssh git@xxx 的時候返回repo列表, 所以只能手動備份.
#!/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
相關文章
Bash的For循環(huán)(根據(jù)每次遞增的數(shù))
需要執(zhí)行一個命令,每次消除500個id,通常寫的是遞增1的,記一筆,怕忘了2013-08-08
Shell中實現(xiàn)整數(shù)自增的幾種方法示例
Linux Shell中寫循環(huán)時,常常要用到變量的自增,下面這篇文章主要給大家分享了關于Shell中實現(xiàn)整數(shù)變量自增的幾種方法,包括declare -i來聲明、使用let命令、使用(())以及使用expr命令等等方法,需要的朋友可以參考借鑒,下面來一起看看吧。2017-08-08
shell監(jiān)控系統(tǒng)資源并通過短信報警的腳本
這篇文章主要介紹了shell監(jiān)控系統(tǒng)資源并通過短信報警的腳本,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-12-12

