我必须检查数据库的状态,该数据库在许多使用不同用户ID的服务器上运行,例如:在server1上,它与user1一起运行在server2上,并与user2等运行。在我的剧本中,我有检查数据库的代码状态,但不知道如何在不同的主机和不同的用户ID上运行它。
我写了一部剧本,可以检查数据库状态,但不知道如何在不同服务器上使用不同的用户ID来运行它。
剧本:
---
- hosts: all
become: true
become_user: db2inst1
tasks:
- name: Start DB2
command: /home/db2inst1/sqllib/adm/db2_ps
库存:
[db-servers]
192.168.4.30
答案 0 :(得分:0)
您应该看一下Ansible Docs的"Connecting to hosts: behavioral inventory parameters"部分。它说明了您可以设置的所有变量,以修改每台主机上的Ansible行为。
在您的情况下,您将必须定义要在每个ansible_user
上使用的host
变量,以及相应的身份验证详细信息(密码,ssh密钥等)
您可以在清单文件中配置这些变量。例如,假设您需要将用户root
用于某台服务器,并将ubuntu
用于另一台服务器。您可以像这样配置playbook
。
[db-servers]
192.168.4.30 ansible_user=root
192.178.4.31 ansible_user=ubuntu
希望对您有帮助。