1.sftp下载
需要安装expect
yum install tcl-devel
yum install expect
port="端口"
user="用户"
host="IP地址
pwd="密码"
path="路径"
name="要下载的文件"
function sftp_download()
{
/usr/bin/expect << EOF
spawn sftp -P $port $user@$host
expect {
# "(yes/no)?" {send "yes \r"; expect_continue }
"*password:" {send "$pwd\r"}
}
#expect "sftp>"
#send "cd $path \r"
expect "sftp>"
send "mget $name \r"
expect "sftp>"
send "bye \r"
EOF
}
sftp_download
2.解压目录下的文件
#!/bin/bash
Folder="路径"
newFolder="新的路径"
mulu="目录"
cd $Folder
number=16
sum=`ls -l | grep "^-" | wc -l`
date=`date -d -1hour "+ %Y%m%d%H"`
echo ${date}文件数量${sum} >> ${mulu}jy.log
if [ $sum == $number ];then
{
for file in ${Folder}/*.tsv.gz;
do
file_name=`basename $file`
gunzip ${Folder}/$file_name
done
mv $Folder/*.tsv $newFolder
}
else
rm -rf $Folder/*
echo no >> ${mulu}jy.log
echo -------------------- >> ${mulu}jy.log
fi
3.自动打镜像并压缩
echo "请输入您要打的镜像名字:"
read name
docker image ls ${name} --format='{{.Tag}}' > 1.log
#查询历史打的镜像名字
awk 'NR==1' 1.log > 2.log
date=`date +"%Y%m%d"`
tag="20240111"
date1=`awk -F - '{print $1}' 2.log`
num1=`awk -F - '{print $2}' 2.log`
if [ "${date}" == "${date1}" ];then
{
num=$(expr ${num1} + 1)
tag=${date}-${num}
}
else
tag=${date}-1
fi
images=${name}:${tag}
sh apache-tomcat/bin/startup.sh
#tail -100f apache-tomcat/logs/catalina.out
sleep 60
ps -ef|grep 'tomcat'|grep -v grep |awk '{print $2}' | xargs kill -9
rm -rf apache-tomcat/logs/*
rm -rf apache-tomcat/webapps/*.war
docker build -f Dockerfile -t ${images} .
docker save ${images} | gzip > ${name}.gz