目录
一、ansible 常用命令
1、ansible 命令集
/usr/bin/ansible
#Ansibe AD-Hoc 临时命令执行工具,常用于临时命令的执行
/usr/bin/ansible-doc
#Ansible 模块功能查看工具
/usr/bin/ansible-galaxy
#下载/上传优秀代码或Roles模块 的官网平台,基于网络的
/usr/bin/ansible-playbook
#Ansible 定制自动化的任务集编排工具
/usr/bin/ansible-pull
#Ansible远程执行命令的工具,拉取配置而非推送配置(使用较少,海量机器时使用,对运维的架构能力要求较高)
/usr/bin/ansible-vault
#Ansible 文件加密工具
/usr/bin/ansible-console
#Ansible基于Linux Consoble界面可与用户交互的命令执行工具
其中,我们比较常用的是/usr/bin/ansible
和/usr/bin/ansible-playbook
,而本章主要讲/usr/bin/ansible
的使用。
2、ansible-doc 命令
ansible-doc
命令常用于获取模块信息及其使用帮助
//列出所有已安装的模块;注:按q退出
ansible-doc -l
//-s列出yum模块描述信息和操作动作
ansible-doc -s yum
二、ansible 常用模块
命令格式: ansible [主机] [-m 模块] [-a args]
1、ping模块
此模块用于进行主机连通性测试
ansible all -m ping
2、command 模块
这个模块可以直接在远程主机上执行命令,并将结果返回本主机。
查看command模块信息
ansible-doc -s command
常用的参数:
chdir
# 在执行命令之前,先切换到该目录
creates
# 一个文件名,当这个文件存在,则该命令不执行,可以
用来做判断
removes
# 一个文件名,这个文件不存在,则该命令不执行
例:
//指定ip执行date
ansible 192.168.163.150 -m command -a 'date'
//指定分类执行date
ansible webserver -m command -a 'date'
ansible mysql -m command -a 'date'
//所有hosts主机执行date
ansible all -m command -a 'date'
//如果不加-m模块,则默认运行command模块
ansible all -a ‘ls /’
注意:该命令不支持|
管道命令。
3、cron模块
该模块适用于管理cron
计划任务的,其使用的语法跟我们的crontab
文件中的语法一致
查看cron模块信息
ansible-doc -s cron
常用选项:
day=
#日应该运行的工作( 1-31, *, */2, )
hour=
#小时 ( 0-23, *, */2, )
minute=
#分钟( 0-59, *, */2, )
month=
#月( 1-12, *, /2, )
weekday=
#周 ( 0-6 for Sunday-Saturday, )
job=
#指明运行的命令是什么
name=
#定时任务描述,用于删除任务
reboot