Ansible - 临时命令

临时命令是可以单独运行以执行快速功能的命令。这些命令不需要以后执行。

例如 , 您必须重新启动所有公司服务器。为此 , 您将从 '运行 Adhoc 命令 / usr / bin / ansible '.

这些 ad - hoc 命令不用于配置管理和部署 , 因为这些命令是一次性使用的。

ansible - playbook 用于配置管理和部署。

并行性和 Shell 命令

一次在 12 个并行分支中重新启动您的公司服务器。为此 , 我们需要设置 SSHagent 以进行连接。

$ ssh-agent bash 
$ ssh-add ~/.ssh/id_rsa 

要在 12 个并行分支中为 “abc ” 组中的所有公司服务器运行重新启动 , 请执行以下操作 :

$ Ansible abc -a "/sbin/reboot" -f 12

默认情况下 , Ansible 将从当前用户帐户运行上述 Ad - hoc 命令。如果要更改此行为 , 则必须在 Ad - hoc 命令中传递用户名 , 如下所示 :

$ Ansible abc -a "/sbin/reboot" -f 12 -u username

文件传输

您可以使用 Ad - hoc 命令执行 SCP ( 安全复制协议 ) 多台计算机上并行的大量文件。

将文件传输到许多服务器 / 计算机

$ Ansible abc -m copy -a "src = /etc/yum.conf dest = /tmp/yum.conf"

正在创建新目录

$ Ansible abc -m file -a "dest = /path/user1/new mode = 777 owner = user1 group = user1 state = directory" 

删除整个目录和文件

$ Ansible abc -m file -a "dest = /path/user1/new state = absent"

管理软件包

Ad - hoc 命令可用于 yum 和 apt 。以下是使用 yum 的一些 Ad - hoc 命令。

以下命令检查是否安装了 yum 包 , 但不更新它。

$ Ansible abc -m yum -a "name = demo-tomcat-1 state = present"

以下命令检查软件包是否未安装。

$ Ansible abc -m yum -a "name = demo-tomcat-1 state = absent" 

以下命令检查是否安装了最新版本的软件包。

$ Ansible abc -m yum -a "name = demo-tomcat-1 state = latest" 

收集事实

Facts 可用于在 playbook 中实现条件语句。您可以通过以下 Ad - hoc 命令查找所有事实的 adhoc 信息 -

$ Ansible all -m setup