开源运维自动化工具 Ansible 详解(3)

非固化需求是指临时性的维护,如查看web服务器组磁盘使用情况、复制一个文件到其他机器等。类似这些没有规律的、临时需要做的任务,我们成为非固化需求,临时一次性操作,语法如下:

Ansible <host-pattern> [options]

可用选项如下:

-v(--verbose):输出详细的执行过程信息,可以得到执行过程所有信息;

-i PATH(--inventory=PATH):指定inventory信息,默认为/etc/ansible/hosts;

-f NUM(--forks=NUM):并发线程数,默认为5个线程;

--private-key=PRIVATE_KEY_FILE:指定密钥文件;

-m NAME,--module-name=NAME:指定执行使用的模块;

-M DIRECTORY(--module-path=DIRECTORY) :指定模块存放路径,默认为/usr/share/ansible;

-a ARGUMENTS(--args=ARGUMENTS):指定模块参数;

-u USERNAME(--user=USERNAME):指定远程主机以USERNAME运行命令;

-l subset(--limit=SUBSET):限制运行主机;

①检查所有主机是否存活,执行命令如下: [root@centos01 ~]# ansible all -f 5 -m ping <!--调用ping模块,all表示/etc/ansible/hosts文件中的所有主机,不用创建all分组(默认存在)--> 192.168.100.20 | SUCCESS => { <!--表示执行成功--> "changed": false, <!--没有对主机做出更改--> "ping": "pong" <!--表示执行ping命令的返回结果--> } 192.168.100.30 | SUCCESS => { "changed": false, "ping": "pong" } ②列出web组所有的主机列表,执行命令如下: [root@centos01 ~]# ansible web --list <!-- --list:表示列出主机列表信息--> hosts (2): 192.168.100.20 192.168.100.30 ③批量显示web组中的磁盘使用空间,执行命令如下: [root@centos01 ~]# ansible web -m command -a "df -hT" 192.168.100.30 | SUCCESS | rc=0 >> 文件系统 类型 容量 已用 可用 已用% 挂载点 /dev/mapper/cl-root xfs 17G 4.4G 13G 26% / devtmpfs devtmpfs 897M 0 897M 0% /dev tmpfs tmpfs 912M 84K 912M 1% /dev/shm tmpfs tmpfs 912M 0 912M 0% /sys/fs/cgroup /dev/sda1 xfs 1014M 173M 842M 18% /boot tmpfs tmpfs 183M 16K 183M 1% /run/user/42 tmpfs tmpfs 183M 0 183M 0% /run/user/0 192.168.100.20 | SUCCESS | rc=0 >> 文件系统 类型 容量 已用 可用 已用% 挂载点 /dev/mapper/cl-root xfs 17G 4.3G 13G 26% / devtmpfs devtmpfs 897M 0 897M 0% /dev tmpfs tmpfs 912M 84K 912M 1% /dev/shm tmpfs tmpfs 912M 0 912M 0% /sys/fs/cgroup /dev/sda1 xfs 1014M 173M 842M 18% /boot tmpfs tmpfs 183M 16K 183M 1% /run/user/42 tmpfs tmpfs 183M 0 183M 0% /run/user/0 /dev/sr0 iso9660 4.1G 4.1G 0 100% /mnt

web关键字需要提前在/etc/ansible/hosts文件中定义组。

Ansible的返回结果非常友好,一般会用三种颜色来表示执行结果:

红色:表示执行过程出现异常;

橘黄颜色:表示命令执行后目标有状态变化;

绿色:表示执行成功且没有目标机器做修改;

2)Ansible-doc

Ansible-doc用来查询ansible模块文档的说明,类似于man命令,针对每个模块都有详细的用法说明及应用案例介绍,语法如下:

ansible-doc [options] [module……]

列出支持的模块:

[root@centos01 ~]#ansible-doc -l

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/83f828c48821a1020ae3d9c1d6ed245b.html