内容简介: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”。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- CSS 基础:块级元素、行内元素、替换元素、非替换元素
- Vim 中怎么将目标字符替换成新行以及如何替换换行符
- PowerShell正则替换实战
- 阿里开源软件替换指南
- 【译】逐步替换Sass
- 「翻译」逐步替换Sass
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
剑指Offer:名企面试官精讲典型编程题(第2版)
何海涛 / 电子工业出版社 / 2017-5 / 65.00
《剑指Offer:名企面试官精讲典型编程题(第2版)》剖析了80个典型的编程面试题,系统整理基础知识、代码质量、解题思路、优化效率和综合能力这5个面试要点。《剑指Offer:名企面试官精讲典型编程题(第2版)》共分7章,主要包括面试的流程,讨论面试每一环节需要注意的问题;面试需要的基础知识,从编程语言、数据结构及算法三方面总结程序员面试知识点;高质量的代码,讨论影响代码质量的3个要素(规范性、完整......一起来看看 《剑指Offer:名企面试官精讲典型编程题(第2版)》 这本书的介绍吧!