1. 安装 expect
> sudo apt-get install expect
2.把以下脚本存储在 $HOME/bin/backup_git.sh ,并添加执行权限
#!/bin/bash
# login 1.249
expect <<-END1
set timeout 100
spawn ssh svn@192.168.1.249
expect "*password*"
send "123456\r"
# create project list file
expect "*svn@svn-OptiPlex-390*"
send "ll /git_repo | grep .git | cut -c 45- > /tmp/git_list.txt\r"
# exit
expect "*svn@svn-OptiPlex-390*"
send "exit\r"
sleep 1
# copy file to local
spawn scp svn@192.168.1.249:/tmp/git_list.txt ./
expect "*password*"
send "123456\r"
expect "*svn@svn-OptiPlex-390*"
END1
# =======================begin clone============================
#readd git list file
num=$(cat ./git_list.txt | wc -l)
echo -e "number" $num
i=1
while [ $i -le $num ];do
line=$(sed -n "$i,$i p" ./git_list.txt)
echo -e " ========> clone project: $line"
expect <<-END1
spawn git clone "svn@192.168.1.249:/git_repo/$line"
expect "*password*"
send "123456\r"
expect "*svn@svn-OptiPlex-390*"
END1
echo -e "$line clone success!"
i=$(($i+1))
done
echo "=============Success! Good Luck!==========\n"
exit 0
3.克隆代码
> mkdir $HOME/src_dir
> cd $HOME/src_dir
> $HOME/bin/backup_git.sh
> sudo apt-get install expect
2.把以下脚本存储在 $HOME/bin/backup_git.sh ,并添加执行权限
#!/bin/bash
# login 1.249
expect <<-END1
set timeout 100
spawn ssh svn@192.168.1.249
expect "*password*"
send "123456\r"
# create project list file
expect "*svn@svn-OptiPlex-390*"
send "ll /git_repo | grep .git | cut -c 45- > /tmp/git_list.txt\r"
# exit
expect "*svn@svn-OptiPlex-390*"
send "exit\r"
sleep 1
# copy file to local
spawn scp svn@192.168.1.249:/tmp/git_list.txt ./
expect "*password*"
send "123456\r"
expect "*svn@svn-OptiPlex-390*"
END1
# =======================begin clone============================
#readd git list file
num=$(cat ./git_list.txt | wc -l)
echo -e "number" $num
i=1
while [ $i -le $num ];do
line=$(sed -n "$i,$i p" ./git_list.txt)
echo -e " ========> clone project: $line"
expect <<-END1
spawn git clone "svn@192.168.1.249:/git_repo/$line"
expect "*password*"
send "123456\r"
expect "*svn@svn-OptiPlex-390*"
END1
echo -e "$line clone success!"
i=$(($i+1))
done
echo "=============Success! Good Luck!==========\n"
exit 0
3.克隆代码
> mkdir $HOME/src_dir
> cd $HOME/src_dir
> $HOME/bin/backup_git.sh