• 【shell】gerrit同步备份脚本的实现


    本期分享下gerrit如何实现备份,由于之前的一台代码服务器直接down掉,所以为了以防万一,开始备份gerrit数据,有人说,gerrit不过是个审查代码的工具,备份这个做什么,git是分布式代码管理的,即使服务器不工作了,很多人本地的代码也是保存着的,慌什么!!!说得对,git管理的代码不会丢失,但是gerrit上最直观的的open merged abandoned这几个状态的审查不见了,研发不开心了。说是工具,有时候依赖工具也不是什么坏事,毕竟是能提升工作效率的,所以就需要进行gerrit的备份,后就有今天gerrit实现同步备份的分享了。


    1.备份服务器gerrit的安装一系列

    2.ldap的同步备份

    3.gerrit的同步备份(今天要说的!)


    说下基本思路:

    a.暂停主服务器gerrit服务

    GERRIT_BIN="/home/lenovo/review_site/bin/"
    GERRIT_BIN44="/ccf_disk/sdd/Gerrit_Backup/review_site/bin/"
    cd $GERRIT_BIN
    ./gerrit.sh stop
    

    b.登录备份服务器,暂停备份服务器gerrit服务,退出备份服务器

    ssh lxxxx_xx@10.4.xx.xx > /dev/null 2>&1 << end
    cd $GERRIT_BIN44
    ./gerrit.sh stop
    exit
    end
    

    c.同步(rsync)主服务器、备份服务器gerrit目录

    rsync -vzrtopg --progress -e ssh --delete /home/lenovo/review_site/ lxxx_xx@10.4.xx.xx:/ccf_disk/sdd/Gerrit_Backup/review_site/
    

    d.开启主服务器gerrit服务

    cd $GERRIT_BIN
    ./gerrit.sh start
    

    e.登录备份服务器修改备份服务器gerrit配置及启动脚本,启动备份服务器gerrit服务后退出备份服务器

    ssh lxxx_xx@10.4.xx.xx > /dev/null 2>&1 << end
    
    sed -i "s/home/lenovo/ccf_disk/sdd/Gerrit_Backup/g" /ccf_disk/sdd/Gerrit_Backup/review_site/bin/gerrit.sh
    sed -i "s/226/69/g" /ccf_disk/sdd/Gerrit_Backup/review_site/etc/gerrit.config
    sed -i "s/home/lenovo/ccf_disk/sdd/Gerrit_Backup/g" /ccf_disk/sdd/Gerrit_Backup/review_site/etc/gerrit.config
    cd $GERRIT_BIN44
    ./gerrit.sh start
    exit
    end
    

    rsync的使用(高效)

    rsync -vzrtopg --progress -e ssh --delete /home/lenovo/review_site/ lxxx_xx@10.4.xx.xx:/ccf_disk/sdd/Gerrit_Backup/review_site/
    

    敲黑板!!ssh互信免密:
    主服务器登录备份服务器时免输入密码,让脚本继续执行,不会因为需要输入密码而暂停。

    ssh-keygen+ssh-copy-id
    

    期待下一期...

  • 相关阅读:
    遗传学详解及Matlab算法实现
    (转)非常好的理解遗传算法的例子
    Halcon学习笔记之支持向量机(二)
    Hough 变换
    主元分析PCA理论分析及应用
    Retinex图像增强算法
    Halcon学习笔记之支持向量机(一)
    阿里云OSS安装使用问题
    JS中双击和单击事件冲突解决
    JavaScript正则表达式应用---replace()
  • 原文地址:https://www.cnblogs.com/wucaiyun1/p/9836020.html
Copyright © 2020-2023  润新知