zoukankan      html  css  js  c++  java
  • 编写部署用到的部分shell脚本收集

    自动化部署的时候经常需要写一堆的shell,这里放一些我整理出来比较公用的脚本。

    1.根据端口kill掉进程(使用于大部分的关闭指令)

    port=8766
    #根据端口号查询对应的pid
    pid=$(netstat -nlp | grep :$port | awk '{print $7}' | awk -F"/" '{ print $1 }');
    #杀掉对应的进程,如果pid不存在,则不执行
    if [ -n "$pid" ]; then
    kill -9 $pid;
    fi

    2.循环遍历文件夹并取出某种类型的文件

    比方说现在有一个文件夹a,需要遍历拿到这个文件夹下面所有的jar

    #用于遍历文件夹的函数
    function read_dir(){
    for file in `ls $1` #注意此处这是两个反引号,表示运行系统命令
    do
     if [ -d $1"/"$file ] #注意此处之间一定要加上空格,否则会报错
     then
     read_dir $1"/"$file
     else
     echo $1"/"$file 
     if [[ $1"/"$file  =~ .jar$ ]];then          #把这里的.jar换成.zip就能拿出所有以zip结尾的压缩包,以此类推
      mv -f $1"/"$file  ${WORKSPACE}/jars
     fi
     fi
    done
    }
    
    #调用遍历函数,直接遍历文件夹
    read_dir 目录

    3.替换jar包里面的文件

    很多时候我们需要替换到jar包里面的一些东西,比方说最经典的application.yml, 下面的$1就是调用函数输入的第一个参数,比方说下面的*-1.0-SNAPSHOT.jar      

    
    
    CONF_SOURCE=你的存放将要替换的application.yml的路径
    function replace_conf(){
    jar -xvf   $1  BOOT-INF/classes/application.yml
    cp   $CONF_SOURCE/application.yml   BOOT-INF/classes/application.yml
    jar uvf $1 BOOT-INF/classes/application.yml
    }
    
    #调用更换配置函数
    replace_conf   *-1.0-SNAPSHOT.jar         

    4.强制复制替换

    这个命令我不止一次写成/cp

    cp
  • 相关阅读:
    [CF1051F] The Shortest Statement
    [国家集训队] 墨墨的等式
    [CF558E] A Simple Task
    [洛谷P1349] 广义斐波那契数列
    [TJOI2009] 猜数字
    [洛谷P3403] 跳楼机
    学习力
    启动流程
    《鸟哥Linux》笔记——磁盘分区
    indexDB数据库
  • 原文地址:https://www.cnblogs.com/daysn/p/11230163.html
Copyright © 2011-2022 走看看