📜  Ansible临时命令

📅  最后修改于: 2020-12-26 12:18:27             🧑  作者: Mango

Ansible临时命令

临时命令是使用Ansible的最简单方法之一。当您要在一个服务器或一堆服务器上发出某些命令时,可以使用这些命令。即席命令不会存储以备将来使用,但是它代表了一种与所需服务器进行交互的快速方法。

Ansible ad-hoc命令使用/ usr / bin / ansible命令行工具来自动化一个或多个受管节点上的单个任务。即席命令既快速又简单,但不可重复使用。临时命令演示了Ansible的简单性和强大功能。

句法

ansible  [-m ] -a <"arguments"> -u  [--become]

说明

主机:它可以是清单文件中的条目。要指定清单中的所有主机,请使用all或“ *”。

module_name:这是一个可选参数。 Ansible中提供了数百个模块,例如shell,yum,apt,filecopy 。默认情况下,它是命令

参数:我们应该传递模块所需的值。可以根据所使用的模块进行更改。

用户名:它指定Ansible可以在其中执行命令的用户帐户。

成为:这是我们要运行需要sudo特权的操作时指定的可选参数。默认情况下,它变为false。

1.并行和shell命令

您可以同时在12个并行分支中重新启动公司服务器。为此,您需要设置SSHagent进行连接。

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

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

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

默认情况下,Ansible将从当前用户帐户运行上述临时命令。如果要更改,请按如下所示在ad-hoc命令中传递用户名:

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

2.文件传输

您可以使用临时命令执行SCP(安全复制协议),这意味着在多台计算机或服务器上并行并行处理大量文件。

在许多机器或服务器上传输文件

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

建立新目录

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

删除所有目录和文件

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

3.管理软件包

临时命令可用于apt和yum模块。以下是使用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" 

4.老化用户和组

您可以使用临时命令在托管节点上管理,创建和删除用户帐户。

$ ansible all -m user -a "name=foo password="

$ ansible all -m user -a "name=foo state=absent"

5.管理服务

确保在所有Web服务器上启动了服务。

$ ansible webservers -m service -a "name=httpd state=started"

或者,在所有Web服务器上重新启动服务:

$ ansible webservers -m service -a "name=httpd state=restarted"

确保服务已停止:

$ ansible webservers -m service -a "name=httpd state=stopped"

6.收集事实

事实代表发现的有关系统的变量。您可以使用事实来实现任务的有条件执行,也可以用来获取有关系统的临时信息。要查看所有事实:

$ ansible all -m setup