ansible入门基础模块

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----远程主机复制到本地,不能指定多个
参数:

  1. dest
  2. 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------定时任务
参数:

  1. name ------任务名
  2. job ------任务
  3. state ------动作
    absent #删除
    present #创建
  4. 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'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值