美文网首页
在ansible 中使用变量

在ansible 中使用变量

作者: 京樂春水 | 来源:发表于2019-08-01 21:18 被阅读0次

    目前在工作中使用ansible来部署、升级业务组件。在编写新的升级剧本时,需要使用shell来判断是否要进行下一步,这个时候就用到了ansible的变量功能。

    ...
    - name: shell
      shell: ps -ef | grep kernel | wc -l
      register:  kernel.status
    
    - name: update
      shell: kill -9 kernel
      when: kernel.status.stdout == "1"
    ...
    

    这里使用了shell语句“ps -ef | grep kernel | wc -l”,如果kernel进程存在,则将注册一个变量“kernel.status”;接着使用ansible的when来判断变量“kernel.status”的输出,如果输出等于“1”,则执行shell语句“kill -9 kernel”。
    关于变量“kernel.stauts”,可以使用debug来显示它的具体输出,其中“rc”为命令执行命令的状态,“0”表示成功,类型为数字,在使用when判断的时候,是不加引号的(判断数字是否相等);“stdout”则是命令的具体输出,在使用when判断的时候,是需要加引号的(判断字符串是否相等)。

    相关文章

      网友评论

          本文标题:在ansible 中使用变量

          本文链接:https://www.haomeiwen.com/subject/ehchdctx.html