📅  最后修改于: 2023-12-03 15:06:45.118000             🧑  作者: Mango
在 Ansible 中,可以使用标签来选择特定的主机或任务进行操作。这个功能非常实用,可以让你很容易地在一组主机中找到需要操作的目标。在本文中,我们将详细讲解如何使用标签来运行 Shell 或 Bash 命令。
在你的 Ansible Playbook 中,定义一个名为 shell
的 Task。比如:
- name: Run a Shell Command
hosts: all
tasks:
- name: 'Print the Disk Space'
shell: df -h
tags:
- shell
在这个任务中,我们使用 shell
模块来运行 df -h
命令来打印磁盘空间。同时,我们将这个任务标记为 shell
。
在终端中运行以下命令来执行这个任务:
ansible-playbook playbook.yml --tags shell
这个命令会运行名为 shell
的标签所标记的任务。在这个例子中,只有一个任务被标记为 shell
,所以只有这个任务会被执行。
如果在之前定义了多个标签,你可以在运行时指定多个标签:
ansible-playbook playbook.yml --tags shell,ssh
这个命令会运行所有被标记为 shell
或 ssh
的任务。
如果你想要运行除了某个标签所标记的任务之外的所有任务,你可以使用 --skip-tags
参数:
ansible-playbook playbook.yml --skip-tags ssh
这个命令会运行除了被标记为 ssh
的任务之外的所有任务。
使用标签是 Ansible 中非常重要的功能之一。它可以帮助你精确地选择需要操作的主机和任务。希望本文对你有所帮助,感谢阅读。