Ansible - 即席命令



即席命令是可以单独运行以执行快速功能的命令。这些命令无需以后执行。

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

这些即席命令不用于配置管理和部署,因为这些命令是单次使用。

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

并行和 shell 命令

同时以 12 个并行 fork 重启您的公司服务器。为此,我们需要设置 SSHagent 以进行连接。

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

若要以 12 个并行 fork 为一组“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"

管理软件包

即席命令适用于 yum 和 apt。以下是一些使用 yum 的即席命令。

以下命令检查 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" 

收集事实

事实可用于在剧本中实现条件语句。您可以通过以下即席命令找到您所有事实的即席信息 -

$ Ansible all -m setup 
广告
© . All rights reserved.