常用ansible命令梳理

 

命令的具体格式 : ansible <host-pattern> [-f forks] [-m module_name] [-a args]
场景命令
查询线上所有机器某个文件的含有某个关键字的内容

ansible k8s-pro -u XXX用户名 -f 100 -K -b -m shell -a 'grep "Exception" /data/nginx/logs/java/activity/logs/XXX' --ask-pass

Ansible 核心程序

-f FORKS #并行任务数,默认为5

-m MODULE_NAME #执行模块的名字,默认使用 command 模块,所以如果是只执行单一命令可以不用 -m参数

-a MODULE_ARGS   #模块的参数,如果执行默认COMMAND的模块,即是命令参数,如: “date”,“pwd”等等

--ask-pass #ask for SSH password。登录密码,提示输入SSH密码而不是假设基于密钥的验证

先切换到/data/ 目录,再执行“ls”命令 ansible web -m command -a 'chdir=/data/ ls' 
如果/data/aaa.jpg存在,则不执行“ls”命令 ansible web -m command -a 'creates=/data/aaa.jpg ls'
如果/data/aaa.jpg存在,则执行“cat /data/a”命令 ansible web -m command -a 'removes=/data/aaa.jpg cat /data/a' 
启动过后照例查看端口号: ansible web -m shell -a "ss -ntulp |grep 9999"
查看版本 ansible --version
ping 回复 pong ansible k8s-pro -m ping
 

ansible testhost -m shell -a "cat /etc/passwd |wc -l "

  ansible web -m shell -a '命令可以有管道符号'

 

-m 的具体参数
模块名说明
command(默认) 不支持管道过滤grep
shell 支持管道过滤grep
script 不用把脚本复制到远程主机就可以在远程主机执行脚本
yum 安装软件
yum_repository 配置yum源
copy 拷贝文件到远程主机
file 在远程主机创建目录或者文件
service 启动或停止服务
mount 挂载设备
cron 执行定时任务
firewalld 防火墙设置
get_url 下载软件或访问网页
git 执行git命令

 

 

 

 


参考文章:

https://www.cnblogs.com/keerya/p/7987886.html

https://www.cnblogs.com/iancloud/p/16045002.html

 

posted @ 2023-02-20 14:42  CodingOneTheWay  阅读(74)  评论(0)    收藏  举报
回到顶部