Ansible - Ad hoc命令

Ad hoc命令是可以单独运行以执行快速功能的命令.这些命令不需要在以后执行.

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

这些ad-hoc命令不用于配置管理和部署,因为这些命令只有一次使用.

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

并行和Shell命令

按时在12个并行叉中重新启动公司服务器.为此,我们需要设置SSHagent进行连接.

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

为组中的所有公司服务器运行重启,'abc',12个并行分叉 :

$ 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"

收集事实

事实可用于在playbook中实现条件语句.您可以通过以下Ad-hoc命令找到所有事实的特定信息 :

$ Ansible all -m setup