• 工程.git文件夹脚本批量备份


    批量.git文件夹脚本远程备份

    1、    首先必须先登录一次备用服务器,才能生效

    2、    把脚本放到~/share/执行脚本git_backup.sh(如果你的samba映射的目录不是share的话,只能手动),执行bash  git_backup.sh 用户名  备用服务器IP

     

    3、    登录备用服务器,进到~/share,会发现所有的.git的tar包都是里面,然后根据自己的要求,tar –xf  XXXX.tar.gz然后checkout回来

    (注意,如果你的编译服务器密码不是默认密码的话,也是执行不成功的)

    单个.git文件夹备份

    1、  进到服务器上面找到所在的工程目录中:举例

    执行命令: tar  –cf  37N.tar.gz  ./.git

              tar  –cf  XXX.tar.gz  ./.git      

    打包后的名字,后缀不要变         要打包的.git文件夹

    压缩完成后,会在当前目录中出现一个37N.tar.gz的包

    2、  scp 到指定服务器 (注意还是当前目录里面操作,然后在192.168.1.37服务器上面新建对应的目录存放压缩包)

    执行命令:  scp  37N.tar.gz   denghuayi@192.168.1.37:~/share/37N/  

    注意格式是

    scp +”包名”+“用户名@服务器IP” + “”+“想要存放的路径目录中

       (注意,这个用户名@服务器IP就是我提供给你们的新服务器账号)

    3、  登录目标服务器192.168.1.37 解压,(注意在对应的目录中),解压命令:

     tar –xf  37N.tar.gz

    4、  git  checkout 回来

    back_up.sh的脚本内容

    #!/bin/bash

    user=$1

    server=$2

    cd ~/share/

    find ~/share -name .git > gitlist

    while read line;

            do

                    name=`echo $line|awk -F'/' '{print $(NF-1)}'`

                    tar -cf ~/share/$name.tar.gz  $line

    done<gitlist

    /usr/bin/expect <<-EOF

    spawn bash -c "scp *.tar.gz $user@$server:~/share/

    expect "password"

    send "123456 "

    expect eof

    EOF

  • 相关阅读:
    python初接触
    Visual Studio Code 必备插件
    C# 基础知识 -- 枚举(Enum)
    Visual Studio : Console.WriteLine(); 快捷键
    C# 调用Outlook发送邮件
    C# Dos、Unix、Mac文件格式之间的相互转换
    Treeview控件失去焦点,将选择的节点设置为高亮显示
    oracle中的Exists、In、Any、All
    TreeView控件如何控制滚动条的位置
    oracle 查看最大连接数与当前连接数
  • 原文地址:https://www.cnblogs.com/to-be-rich/p/7243517.html
Copyright © 2020-2023  润新知