一键备份gitolite服务器的Shell脚本

 更新时间:2014年09月01日 15:59:19   投稿:mdxy-dxy  
这篇文章主要介绍了一键备份gitolite服务器的Shell脚本,需要的朋友可以参考下

运行一次就能够把gitolite服务器上的仓库备份到本地. 第一次运行会创建远程仓库的本地镜像, 以后每次运行会把本地镜像更新.

本程序只支持 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循环(根据每次递增的数)

    Bash的For循环(根据每次递增的数)

    需要执行一个命令,每次消除500个id,通常写的是递增1的,记一笔,怕忘了
    2013-08-08
  • Shell查找命令find和grep的具体使用

    Shell查找命令find和grep的具体使用

    本文主要介绍了 Shell查找命令find和grep的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • Shell实现文本去重并操持原有顺序

    Shell实现文本去重并操持原有顺序

    这篇文章主要介绍了Shell实现文本去重并操持原有顺序,本文分步骤讲解如何解决需求,并给出了若干方法,需要的朋友可以参考下
    2015-03-03
  • linux shell查看当前外网IP

    linux shell查看当前外网IP

    这篇文章主要介绍了如何在LINUX操作系统下查看本地IP地址(在SHELL下)的相关资料,需要的朋友可以参考下
    2015-09-09
  • Shell中实现整数自增的几种方法示例

    Shell中实现整数自增的几种方法示例

    Linux Shell中写循环时,常常要用到变量的自增,下面这篇文章主要给大家分享了关于Shell中实现整数变量自增的几种方法,包括declare -i来声明、使用let命令、使用(())以及使用expr命令等等方法,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-08-08
  • linux shell发送Email邮件的方法详解

    linux shell发送Email邮件的方法详解

    这篇文章主要介绍了linux shell发送Email邮件的方法,文中介绍的内容包括发送一封简单的邮件、邮件的格式、邮件标题使用中文以及邮件内容使用html等相关资料,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-01-01
  • Linux查找占用的端口,并终止进程的方法

    Linux查找占用的端口,并终止进程的方法

    下面小编就为大家带来一篇Linux查找占用的端口,并终止进程的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • shell监控系统资源并通过短信报警的脚本

    shell监控系统资源并通过短信报警的脚本

    这篇文章主要介绍了shell监控系统资源并通过短信报警的脚本,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-12-12
  • Linux命令行里的“瑞士军刀”

    Linux命令行里的“瑞士军刀”

    本文说的瑞士军刀是指那些简单的一句命令就能完成其它高级语言一大片代码才能完成的工作
    2013-07-07
  • 一个简单的linux命令 pwd

    一个简单的linux命令 pwd

    这篇文章主要介绍了一个简单的linux命令pwd,pwd命令用于查看当前工作目录的完整路径,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-12-12

最新评论