ansible文件内容替换+在远程主机上运行多个command

栏目: 服务器 · 发布时间: 6年前

内容简介:ansible文件内容替换+在远程主机上运行多个command

ansible在远程主机上进行文件内容替换可以使用lineinfile来实现,可以使用正则筛选到所需要的行,然后进行替换,本文进行了演示。

ansible在远程主机上运行多个command,标准写法为

- name: install an apple
    command: "{{item}}"
    with_items:
     - tar -xvzf /tmp/apple.tar.gz creates=/tmp/apple
     - /tmp/apple/install.sh --default creates=/etc/apple
     - rm -rf /tmp/apple

实例

假设有一个process.ymal

- hosts: new
  user: admin
  vars:
     ps_env: "{{ ps_env }}"
  tasks:
   - name: push ~/.ssh/id_rsa/pub to remote .ssh/authorized_keys
     authorized_key: user=admin state=present key="{{ lookup('file', '/home/admin/.ssh/id_rsa.pub') }}"

   - name: push ump_agent_code to remote
     copy: src=/opt/zhukun/ump_agent/bin dest=/home/admin/zhukun owner=admin group=admin mode=644 backup=yes follow=yes

   - name: prepare the product/test enviroment of PS
     command: sed -i "s,stage,{{ ps_env }},g" /home/admin/zhukun/bin/config.json

   - name: prepare the product/test enviroment of PS
     lineinfile:
       dest: /home/admin/zhukun/bin/config.json
       regexp: '^.*[PRODUCT].*$'
       line: '"PRODUCT": "{{ ps_env }}"'

   - name: reboot the observer-agent service
     command: "{{ item }}"
     with_items:
      - ps -ef | grep /export/App/observer-agent.jd.local/bin | grep -v grep | awk '{ print $2}' | xargs kill
      - /export/App/observer-agent.jd.local/bin/start.sh

   - name: reboot the PS service
     command: ps -ef | grep /export/Packages/prediction_service/latest/prediction_service | grep -v grep | awk '{ print $2}' | xargs kill

说明:

第1个task是用来Push ssh公钥,第2个task是用来push文件到远程主机,关于详细使用请参考这篇文章;

第3个task,调用远程command命令进行文件内容替换;

第4个task,使用ansible自带的lineinfile模块,进行文件内容替换。使用regexp筛选出包含PRODUCT的行,并将该行修改为”PRODUCT”: “{{ ps_env }}”,其中ps_env会被ansible-playbook命令传递的参数替换掉

ansible-playbook -i /opt/list process.ymal -e ps_env=rec_test -k

此时,lineinfile模块,会将包含PRODUCT的行,并将该行修改为”PRODUCT”: “=rec_test”。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

数据驱动设计

数据驱动设计

[美]罗谢尔·肯(RochelleKing)、[美]伊丽莎白F.邱吉尔(Elizabeth F Churchill)、Caitlin Tan / 傅婕 / 机械工业出版社 / 2018-8 / 69.00元

本书旨在帮你了解数据引导设计的基本原则,了解数据与设计流程整合的价值,避免常见的陷阱与误区。本书重点关注定量实验与A/B测试,因为我们发现,数据分析与设计实践在此鲜有交集,但相对的潜在价值与机会缺大。本书提供了一些关于在组织中开展数据实践的观点。通过阅读这本书,你将转变你的团队的工作方式,从数据中获得大收益。后希望你可以在衡量指标的选择、佳展示方式与展示时机、测试以及设计意图增强方面,自信地表达自......一起来看看 《数据驱动设计》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

MD5 加密
MD5 加密

MD5 加密工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具