Shell自动部署测试环境


shell目标:


        1.Linux命令熟悉
        2.能够自动部署测试环境(mysql/nginx/项目)
     
  

 shell内容:


        变量:变量名=变量值
        等号两边不能有空格
        变量名不能为数字开头、字母、数字、下划线组成
        特殊变量定义:双引号、单引号、反单引号
        变量值输出:echo $变量名
        变量释放:unset 变量名
        输入操作:
            read 变量名 变量名 变量名----->变量名之间用空格隔开
            read -p “提示信息” 变量名
            
        参数传递:向.sh文件传递数据
            $1/$2/$3....
            $0--->文件名
            $@--->所有参数
            $#--->参数个数
        重定向:
            将结果输出到文件中
            正确的命令: 用1表示,  命令 1>文件名  ,命令 1>>文件名
            错误的命令:用2表示, 命令 2>文件名  ,命令 2>>文件名
        程序结构
            分支:
                if...else分支:注意:if和[之间有空格、条件和中括号之间有空格、条件和条件之间有空格,条件中存在变量,变量名两边使用双引号
                    逻辑运算符: -a  /   -o   /  !
                    比较运算符:-eq/-ne/-ge/-gt/-le/lt
                    字符串比较: ==  !=
                    test 参数 变量名
                    参数 变量名
                if...elif...else分支
                case分支:
                    第一行最后必须为in
                    语句结束;;
                    值:可以字符串、数字、可以是区间范围[0-9]
                    结束:esac
            循环
                for循环
                    seq start size max---->分别表示开始点、步长、结束点
                while循环
                    
                变量的变化:i=i+1---->表示的形式
                多个变量间操作------>表示的形式
            函数
                定义:函数名(){}
                调用:函数名 ----》必须先定义再调用
                函数传参:用$n来接收传递的数据
                函数的返回值:默认都有一个默认的返回值,正确(无错误命令)的函数---->返回值默认为0,错误的命令--->返回值默认为1,查看函数的返回值:$?

        

自动化部署实战:oracle的部署过程
            涉及知识点:
                查看文件中的前n条数据:head -n
                在文件中查看内容:grep "内容" 文件名
                剪取文件中的内容:cut
                    cut:
                        按照字节进行剪取---->空格:1个字节,字母、数字:1个字节,汉字:3个字节-----> 参数 : -b
                        按照字符剪取----->空格、数字、字母、汉字:1个字符---->参数: -c
                        按照域剪取----->  -d:表示使用的分隔符, -f:要剪取的第几个域
                    sed -i "行号a内容" 文件名
                    sed -i "行号i内容" 文件名
            部署:
                通过函数之间的相互调用实现
                (先脚本文件时,先流程图,再脚本)

  

oracle在Linux环境下的自动部署

一、安装说明 
 本文档将指导您完成 Linux 企业版下面的 Oracle 数据库的安装。通过本次安装您将发 现您的 Linux 系统发生如下变化: 
· 安装了可以使用的 Oracle 数据库; 
·配置了可以使用的组和用户; 
·配置了相关权限的环境变量;  
二、安装前的准备 
 示例是基于虚拟机下的 Linux 系统的安装工作,使用的本地操作系统是[Windows 2000 Server],使用的虚拟机是[VMware-workstation-5.5.2-29772.exe]使用的 Linux 企业版是[红 帽企业级 Linux.AS 版].V4.0],使用的 Oracle 版本是[Oracle 10g]。安装前请确认如下事宜:
·当前 Linxu 使用的是企业版,并且安装了[开发工具]工具包; 
·当前 Linux 系统已经配置好了网络设置; 
·已经准备好了 Oracle 安装文件; 
·有足够的硬盘空间用于安装; 
·有足够的物理内存和分配内存便于安装; 
下面提供的是一组需要的资源参考: 
    ·至少 1024 MB 物理内存 
    ·1024-2048 需 1.5 倍的交互空间 
    ·2048-8192 需 1 倍的交互空间 
    ·8192- 需 0.75 倍的交互空间 
    ·至少 400 MB /tmp 临时目录空间 
    ·oracle 软件需要 1.5 GB 到 3.5 GB 磁盘空间 
    ·默认数据库需要 1.2 GB  
三、进行安装前的配置 
1、确定当前登录的是超级管理员 root 用户,如下内容都是在 root 下面进行的操作。
依 次执行命令:
 [groupadd  dba]----------------------------------------新建管理组
 [groupadd  oinstall]------------------------------------新建安装组
 [useradd  tester  -g  oinstall  -G  dba]----------新建用户,用户录属于 dba 和 oinstall      [passwd  tester]------------------------------------------修改用户密码 
具体操作如下图所示:

 

2、继续利用 root 用户建立安装目录并分配权限。分别执行如下命令 
[mkdir -p /oracle/product/10.2.0/db_1]-----------------------------------新建 oracle 安装目录 [chown  -R  tester.oinstall  /oracle]---------修改 oracle 安装目录属主和属组 
[chmod  755  -R  /oracle]--------------------修改 oracle 安装目录操作权限 
如下图所示:


3、注销当前 root 用户(建议注销,不用 su 命令置换),再用刚才新建的 tester 用户登录 系统。进入当前用户的根目录执行命令[vi  ./.bash_profile],打开用户环境变量列表,插入 如下内容: 
ORACLE_BASE=/oracle 
ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1 
ORACLE_SID=orcl 
PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin 
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
export ORACLE_BASE  
export ORACLE_HOME  
export ORACLE_SID  
export PATH  
export LD_LIBRARY_PATH   

 

 

4、进入文件后,单击[i],开始修改,修改完成后保存退出(ESC---冒号---wq),执行命 令[source  ./.bash_profile],使修改生效,此时你可以利用命令[echo  $ORACLE_BASE]或 [echo  $PATH]命令查看刚才的设置内容,如下图所示:

 

四、安装 Oracle 
1、注销系统,用 tester 用户登录系统(注意如果上一步没有注销,这一步一定要注销, 要是你当前桌面显示[tester 的主目录]),找到 Oracle 安装文件,比如我的是放在/tmp 下的 zip文件,所以首先解压缩:  

 

 

2、解压缩完成,会生成一个 database 的文件夹,进入 database 目录下会看到一个可执 行文件 runInstaller,执行命令[./runInstaller],安装开始:

 

3、安装正式开始以后会弹出如下提示界面,有[基本安装]和[高级安装]两项,[高级安 装]中可以选择[企业版]、[标准版]和[自定义]。默认的是[基本安装],也就是[企业版],设置 都是上面用 root 账户创建的内容,可以默认不动,但是下面的数据库口令一定要设定好并 且记牢,它是关键所在,这里我们不是用[高级安装],[下一步]继续

 

4、设定完密码,单击[下一步]继续,这个地方的内容也是默认的,不用修改,[下一步] 继续

 

5、当[检查]栏出现蓝色突出显示的提示时,选中当前的复选框即可,[下一步]继续

 

6、检查通过以后进入正式安装界面,单击[安装]


7、安装过程中如果出现如下图提示,单击[忽略]继续:

 

 

 

8、然后会出现如下图继续安装界面:

 

9、数据库文件安装好以后,进行配置组件时会出现下图提示界面,作用是进行口令的 修改和管理

 

10、单击 [口令管理],出现下图界面,可以根据需要作适当修改,这里我们默认安装

 

11、单击[确定]后继续安装,然后会弹出下图所示界面,按提示进行操作

 

12、下面是我切换到 root 后执行脚本的界面,其中出现一个选择路径的地方默认即可

 

13、执行完脚本后,单击[确定]出现如下提示,安装完成,[退出]

 

14、首先查看一下欢迎界面,输入如下图地址,如果正确显示则表示安装成功

 

15、这个是进入数据库操作界面

 

16、这个是数据库管理界面

 

17、下面这几个是 10g 企业管理界面

 

 

 

18、如果你的机器都能正常显示如上几个界面的话。恭喜你 Oracle 安装成功,但是使
用前注意要启动服务。


五、设置服务启动 
虽然你现在可以启用所有服务,但是当你重起系统以后,你会发现,所有的服务都不能 正常使用了,原因是你没有设定系统启动项,甚至没有开启服务,下面我们就来完成这些工 作。 1、用 root 用户修改文件[/etc/oratab],如下图所示修改其中的 N 为 Y,保存退出

 

2、用 tester 用户修改[$ORACLE_HOME/bin]下面的 dbstart 文件,如下图所示

 

3、修改好上面两个文件后,我们利用命令[dbstart]启动 oracle 服务,下图是在不同位置 下的三种启动方式,注意如果直接执行命令[dbstart]启动一定要进入 oracle 家目录的 bin 下

 

4 、利用命令[emctl  start  dbconsole] 启动oracle 的 em 服务,对应于 http://localhost:1158/em,利用命令[isqlplusctl  start  dbconsole]启动isqlplus服务,对应于 http://localhost:5560/isqlplus和http://localhost:5560/isqlplus/dba

 

5、如果你能再次看见下图这个熟悉的管理登录界面,恭喜你服务启动成功:

             

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
shell自动部署是一种通过编shell脚本来实现自动部署测试环境的方法。这种方法可以帮助我们简化部署过程,提高工作效率。通过使用Linux命令熟悉和编适当的脚本,我们可以自动部署MySQL、Nginx和项目等服务。该脚本通常基于CentOS环境下的shell脚本,并且脚本内容基本无需变化,仅需根据脚本名称对应服务jar的定位。比如,将脚本名称改为app_demo.sh,则部署的服务jar名称为demo.jar,jar存放路径和启动配置等也可以在脚本中进行设置。通过使用此脚本,可以实现批量自动部署,避免了每个服务器单独启动的繁琐过程。因此,shell自动部署脚本可以帮助我们快速、高效地完成测试环境部署工作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Shell自动部署测试环境](https://blog.csdn.net/qq_30273575/article/details/121380291)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [linux-shell自动部署脚本参考文件](https://download.csdn.net/download/qq_26626595/87761968)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [基于Shell自动部署脚本](https://blog.csdn.net/u010044936/article/details/107808724)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值