lineinfile模块是文件插入模块
一、rolse
roles目录结构
[root@jumpserver roles]# mkdir {zabbix,xunjian}/{vars,tasks,templates,handlers,files} -p
zabbix 角色名称
file 存放文件
handlers 触发任务
tasks 具体任务
templates 模板文件
vars 存放变量
二、查看yml文件
[root@jumpserver zabbix]# ls files/discovery_tcp_port.sh
files/discovery_tcp_port.sh
[root@jumpserver zabbix]# cat handlers/main.yml
- name: restart zabbix-agent
service: name=zabbix-agent state=restarted
[root@jumpserver zabbix]# cat handlers/main.yml
- name: restart zabbix-agent
service: name=zabbix-agent state=restarted
[root@jumpserver zabbix]# cat tasks/main.yml
- name: create dir
file: path={{ file_dir }} state=directory mode=755 owner=jumpserver group=root- name: copy file
copy: src=discovery_tcp_port.sh dest=/etc/zabbix/zabbix_agentd.d/script/ mode=755- name: add zabbix-agent config
lineinfile: dest=/etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf line='UserParameter=discovery.tcpport[*],/etc/zabbix/zabbix_agentd.d/script/discovery_tcp_port.sh $1 $2'
notify: restart zabbix-agent
[root@jumpserver zabbix]# cat vars/main.yml
file_name: discovery_tcp_port.sh
file_dir: /etc/zabbix/zabbix_agentd.d/script/
[root@jumpserver roles]# cat zabbix.yml
- hosts: zabbix
remote_user: jumpserver
roles:
- zabbix
tags: zabbix
执行
[root@jumpserver roles]# ansible-playbook -i hosts -t zabbix zabbix.yml --ask-vault-pass
有问题请加博主微信进行沟通!
全部评论