Ansible 临时命令
临时命令是可以单独运行以执行快速功能的命令。这些命令不需要以后执行。
例如,你需要重新启动你公司的所有服务器。为此,你将从“ /usr/bin/ansible ”运行临时命令。
这些临时命令不用于配置管理和部署,因为这些命令只用一次。
ansible-playbook用于配置管理和部署。
并行处理和Shell命令
同时以12个并行进程重新启动你公司的服务器。为此,我们需要设置SSHagent进行连接。
$ ssh-agent bash
$ ssh-add ~/.ssh/id_rsa
在12个并行forks中,对你公司在一个组‘abc’中的所有服务器运行重启操作 –
$ Ansible abc -a "/sbin/reboot" -f 12
默认情况下,Ansible将使用当前用户帐户来运行上述即席命令。如果要更改此行为,您需要在即席命令中传递用户名,如下所示 –
$ Ansible abc -a "/sbin/reboot" -f 12 -u username
文件传输
您可以使用特别命令来在多台机器上并行执行 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"
Gathering Facts
通过Ad-hoc命令,可以找到所有事实的adhoc信息。事实可以用于在playbook中实现条件语句。
$ Ansible all -m setup