• 部署应用的小脚本


     1 #!/bin/bash
     2 # Author        : standby
     3 # Date          : 2017-05-12
     4 # Description   : Deploy something.
     5 
     6 . /etc/init.d/functions
     7 
     8 # Usage...
     9 function Usage()
    10 {
    11     echo -e "Usage: /bin/sh $0 arg1 arg2
     
    12                   - arg1 like this : data1 | data2 ...
     
    13                   - arg2 like this : tag"
    14     exit 2
    15 }
    16 # The core deploy code block here...
    17 function deploy()
    18 {
    19     # Prepare something...
    20     # ...
    21     # Deploy some crontab and script...
    22     # ...
    23 }
    24 # Verificate the arguments.
    25 function verificate()
    26 {
    27     result=0
    28     available=`df -m |grep $1$ |awk '{print $4}'`
    29     [[ $available -lt 1000000 ]] && result=1
    30     [[ $2 == x* ]] || result=2
    31     #[ $2 == x* ] || result=2
    32     echo $result
    33 }
    34 # Start something processes.
    35 function start_work()
    36 {
    37     if [ $1 -eq 1 ]
    38     then
    39         echo -e "
    "
    40         action "Deploy something successful." /bin/true
    41         echo -e "
    Begin to start something process...
    "
    42         # start something cmd here ...
    43         if [ $? -eq 0 ]
    44         then
    45             action "Start something successful." /bin/true
    46         else
    47             action "Start something failed." /bin/false
    48         fi
    49     elif [ $1 -eq 2 ]
    50     then
    51         action "Deploy something failed." /bin/false
    52     exit -1
    53     else
    54         action "You are not expected to undestand this code block ->_->" /bin/true
    55     fi
    56 }
    57 # Main code body.
    58 function main()
    59 {
    60     [[ $1 == dat* ]] || Usage
    61     result=`verificate $1 $2`
    62     #echo $result
    63     if [ $result -eq 0 ]
    64     then
    65         #echo "Hello world!"
    66         deploy $1 $2
    67         [ $? -eq 0 ] && start_work 1 || start_work 2
    68     elif [ $result -eq 1 ]
    69     then
    70         echo "$1 have less than 1T space left"
    71         exit 1
    72     elif [ $result -eq 2 ]
    73     then
    74         echo "The arg2 must start with 'x', not $2"
    75         exit 2
    76     fi
    77 }
    78 # Start here...
    79 if [ $# -ne 2 ]
    80 then
    81     Usage
    82 else
    83     main $1 $2
    84 fi
    作者:Standby一生热爱名山大川、草原沙漠,还有妹子
    出处:http://www.cnblogs.com/standby/

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    12.13 Redis缓存面试题精简版
    12.12 Oracle数据库相关面试题精简版(后续继续完善)
    1.131 IDEA2018版本64位激活
    7.11 读《如何阅读一本书》有感
    Linux下source命令详解(转载)
    Scala 随笔
    SparkStreaming实时流式大数据处理实战总结
    转载:hive的一些udaf
    IDEA的一些常见报错
    hive使用UDF函数
  • 原文地址:https://www.cnblogs.com/standby/p/6847554.html
Copyright © 2020-2023  润新知