博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
交互式自动化脚本模板
阅读量:6941 次
发布时间:2019-06-27

本文共 2491 字,大约阅读时间需要 8 分钟。

hot3.png

作为一个运维人员,免不了会做很多自动化的脚本,服务器安装的自动化,服务环境搭建自动化,服务启动关闭自动化,数据备份恢复自动化等等。 有部分是直接放置在crontab里面按照时间来定运行周期的,还有一部分是手动操作的,对于手动操作这部分,自认最好是交互式的,根据初期定义的功能类型,根据选择的需求完成自动化的部署和实现。 下面就是工作中用的两种比较普遍的交互式自动化脚本的大致框架。
第一种:case函数是实现的交互式
#!/usr/bin/env bash #===============================================================================#          FILE: deploy.sh#         USAGE: ./deploy.sh #   DESCRIPTION: Interactive automated deployment script#       OPTIONS: ---#  REQUIREMENTS: ---#         NOTES: ---#        AUTHOR: Eric Wu, mesopodamia@gmail.com#       CREATED: 01/25/2014 11:44#      REVISION:  ---#===============================================================================function example001() {	echo "example001"}function example002() {	echo "example002"}function example003() {	echo "example003"}echo " ----------------------------------------"echo " "echo "Please insert function Number:"echo " "echo "  [1] function001 "echo "  [2] function002 "echo "  [3] function003 "echo " "echo " ----------------------------------------"read Number;case "$Number" in    1)        example001 && exit 0;		;;	2)        example002 && exit 0;		;;	3)        example003 && exit 0;		;;    *)        echo $"Usage: $0 {function001|function002|function003}"        exit 2esac
  git脚本下载地址:
第二种:dialog函数是实现的交互式
#!/usr/bin/env bash #===============================================================================#                 FILE: deploy.sh#                USAGE: ./deploy.sh #   DESCRIPTION: Interactive automated deployment script#          OPTIONS: ---#  REQUIREMENTS: ---#                NOTES: ---#               AUTHOR: Eric Wu, mesopodamia@gmail.com#          CREATED: 01/25/2014 11:44#         REVISION:  ---#===============================================================================command -v dialogif [[ $? != 0 ]]; then 	yum install -y dialogfi 	function example001() {        echo "example001"}function example002() {        echo "example002"}function example003() {        echo "example003"}if dialog --title "Auto Deploy System" --radiolist "Choose one function" 20 60 14 1 "function001" on 2 "function002" off 3 "function003" off 2>output; then        select=`cat output`        if [ $select -eq 1 ]; then                example001        elif [ $select -eq 2 ]; then                example002        elif [ $select -eq 3 ]; then                example003        else                echo "Your select is wrong!!! please try again!"   fifi
git脚本下载地址:

转载于:https://my.oschina.net/mesopotamia/blog/410086

你可能感兴趣的文章
Java源码分析-UUID
查看>>
Directx11教程(47) alpha blend(4)-雾的实现
查看>>
opengl 教程(12) 投影矩阵
查看>>
8086汇编——课堂笔记整理3
查看>>
Python批量修改文件名-后缀
查看>>
如何成为强大的程序员?(转)
查看>>
Codeforces Round #349 (Div. 2) C. Reberland Linguistics (DP)
查看>>
C语言中的字符串
查看>>
AngularJS 事件
查看>>
java中mkdir()和mkdirs()区别
查看>>
NIO系列——通道(Channel)
查看>>
NetCore 委托Func的使用
查看>>
《转》Xcode 6 正式版如何创建一个Empty Application
查看>>
公钥(Public Key)与私钥(Private Key)
查看>>
左右手坐标系与旋转正向
查看>>
hdu 2177 取(2堆)石子游戏(威佐夫博奕)
查看>>
Web Storage与Cookie相比存在的优势:
查看>>
KVC/KVO原理详解及编程指南(转载)
查看>>
AndroidPn服务端部分bug解决方案
查看>>
LeetCode – Refresh – LRU
查看>>