shell脚本

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

  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值