ansible命令帮助
-a ------------MODULE_ARGS 模块参数
-m ------------MODULE_NAME 模块名称
-f ------------forks 指定一次执行的机器
-C ------------测试
–list-hosts ------------查看运行的机器
-v ------------输出详细信息
1.ping------检测在线主机
all ------ 指定所有主机
-m -------- MODULE_NAME 模块名称
ping ----- 要执行的命令
例:
ansible all -m ping
2.command模块[执行远程命令]
-a ------ MODULE_ARGS 模块参数
例:在所有远程主机上执行pwd命令
ansible all -a 'pwd'
3.script模块 [在远程主机执行主控端的shell/python脚本 ]
ansible all -m script -a 'a.sh' #执行主控端脚本a.sh
4.shell模块 [执行远程主机的shell/python脚本,支持管道]
ansible all -m shell -a 'echo oldboy|passwd --stdin user1' #设置密码
ansible all -m shell -a 'cat /etc/shadow|grep user1' #查看用户
ansible all -m shell -a 'python a.py' #执行远程脚本
5.copy复制文件
参数介绍:
- dest 目标地址
- src 本地地址
- mode 权限 wrx/755
- owner 属主
- group 属组
- backup 备份
- content 直接写内容,可以用转移符号
注意src是指定一个文件,不是目录,否则发不过去
ansible all -m copy -a 'dest=/data src=/data/a.txt' #复制单个文件
ansible all -m copy -a 'src=/etc/init.d dest=/data/'
ansible all -m copy -a 'src=/etc/init.d/ dest=/data' #如果带/则复制里面的内容,不带/则复制目录,如果是目录的话,则会递归复制
ansible all -m copy -a 'content="hello world" dest=/data/test.txt' 直接输入内容
6.file------文件操作
参数:
- dest 目标地址
- state
- file 代表拷是文件
- link 代表最终是个软链接
- directory 代表文件夹
- hard 代表硬链接
- touch 代表生成一个空文件
- absent 代表删除
ansible all -m file -a 'dest=/data/html state=directory' #创建目录
ansible all -m file -a 'dest=/data/html2 state=link src=/etc' #创建软链接
ansible all -m file -a 'dest=/data/a.txt state=touch'
ansible all -m file -a 'dest=/data/a.txt state=absent' #删除
7.fetch----远程主机复制到本地,不能指定多个
参数:
- dest
- src
ansible 192.168.12.91 -m fetch -a 'src=/data/test.txt dest=/data'
8.pip------python模块安装
ansible all -m pip -a 'name=django==1.11'
9.yum------软件安装卸载
参数:
- name
- state
- absent #卸载
- installed #安装
- latest #安装最新的版本
- present #安装
- removed #卸载
ansible all -m yum -a 'name=python-pip state=latest'
ansible all -m yum -a 'name=nginx state=latest'
ansible all -m yum -a 'name=nginx state=absent'
10.service------服务启停
ansible all -m service -a 'name=nginx state=started' #启动nginx
ansible all -m service -a 'name=nginx state=stopped' #停止nginx
11.cron------定时任务
参数:
- name ------任务名
- job ------任务
- state ------动作
absent #删除
present #创建 - weekday,hour,day,minute,month ------执行时间
ansible all -m cron -a 'name=testjob minute=1 job=ntpdate'
ansible all -m cron -a 'name=testjob state=absent'
12.user
参数:
name -----用户名
password ------密文密码,不支持明文密码
shell ------指定用户的默认 shell
state ------present, absent (删除)
uid
group ------用户基本组
groups ------ 附加组
home ------家目录
ansible all -m user -a 'name=usertest password=<密文密码>'
ansible all -m user -a 'name=usertest state=absent'
13.group
参数:
gid ------
name -----用户组
state -----动作 present 创建 absent 删除
system ------是否是系统组
ansible all -m group -a 'name=usertest '
ansible all -m group -a 'name=usertest state=absent'