linux shell 交互 git 批量备份

shell 交互 git 批量备份

安装expect

yum install expect

编写免输入脚本

#!/usr/bin/expect
set timeout 10
set git_host [lindex $argv 0]
spawn  git clone  $git_host
expect "Username*"
send "myname\n"
expect "Password*"
send "mypassword\n"
expect "100%"
expect eof

批量脚本

#!/bin/bash
cd /data/git && mkdir `date  +%Y%m%d`  && cd `date  +%Y%m%d`
if [ $? != 0 ];then
exit 1
fi
expect /data/git/gitpull.exp  https://git.1.git
expect /data/git/gitpull.exp https://git.2.git
expect /data/git/gitpull.exp https://git.3.git
......

定时备份

0 3 * * * /data/git/git_clone.sh >  `date +%Y%m%d`.log 2>&1 &

结果

4.6G    20190819
2.0M    20190819.log
28K    git_clone.sh
4.0K    gitpull.exp

定时删除

0 5 * * * find /data/git/`date +%Y%m%d --date="-8 day"` |xargs rm > /dev/null 2>&1 &
0 6 * * * find /data/git/`date +%Y%m%d --date="-8 day"` |xargs rmdir > /dev/null 2>&1 &

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励