mas*_*ind 4 bash ansible slack
我是 Ansible 的新手。我有一个 bash 脚本,它有三个要传递的参数。我必须从 Ansible 在远程服务器上运行这个 bash 脚本。
基本上,我想在执行 Ansible 命令时将主机名、持续时间和注释字段声明为参数。我不想编辑文件,因为我是从 Slack 频道编辑的。
- hosts: nagiosserver
tasks:
- name: Executing a script
command: sh /home/aravind/downtime.sh {hostname} {duration} {comments}
Run Code Online (Sandbox Code Playgroud)
小智 5
如果您通过 执行 ansible ansible-playbook myplay.yml
,则可以通过-e varname=varvalue
. 一个懒惰的解决方法是运行
ansible-playbook myplay.yml -e my_hostname=foo -e my_duration=bar -e my_comments=foobar
Run Code Online (Sandbox Code Playgroud)
但是您应该考虑主机名已经在您的清单或收集的事实中定义。
所以你可以更新你的剧本以使用这些额外的变量
- hosts: nagiosserver
tasks:
- name: Executing a script
- command: "sh /home/aravind/downtime.sh {{my_hostname}} {{my_duration}} {{my_comments}}"
Run Code Online (Sandbox Code Playgroud)