Ansible之常用模块介绍
环境
ansible HOST-PATTERN -m MOD_NAME -a MOD_ARGS -C -f forks
ssh-keygen -t rsa -P ""
ssh-copy-id -i ~/.ssh/id_rsa.pub root@10.0.0.51
ssh-copy-id -i ~/.ssh/id_rsa.pub root@10.0.0.52
cat /etc/ansible/hosts
[webservers]
10.0.0.51
10.0.0.52 [dbservers]
10.0.0.51
1.ping
# 检查指定节点机器是否还能连通,用法很简单,不涉及参数
-C, --check:不作任何改变,只是干跑一遍命令
-a MODULE_ARGS
ansible all -m ping --list-hosts
2.user & group
使用模块时,帮助信息中写等号的,是必须得手动写明,其它的都是可选的,有默认值
present是创建,absent是删除
ansible-doc -s group
ansible -m group -a "gid=3000 name=testgrp state=present system=no"
ansible -m user -a "uid=5000 name=testuser state=present group=testgrp shell=/bin/tcsh"
3.copy
– src:要复制到远程主机的文件在本地的地址,可以是绝对路径,也可以是相对路径,如果路径使用”/”来结尾,则只复制目录里的内容,如果没有使用"/"来结尾,则包含目录在内的整个内容全部复制,类似于rsync.
ansible all -m copy -a 'src=/etc/fstab dest=/opt/fstab.bk owner=root mode=644'
ansible all -m copy -a "content='hi ansible\n' dest=/tmp/hello.txt"
fetch - name: Fetches a file from remote nodes 从远程节点获取文件
ansible dbservers -m fetch -a "src='/root/hi.txt' dest='/root'"
4.command
# 不是键值对,直接给出命令即可
ansible all -m command -a 'date'
# 如果不加-m模块,默认运行command模块
ansible all -a 'ls /'
# command无法给用户生成密码,只能把命令当字符串echo出来
ansible all -m command -a "echo mowang|passwd --stdin testuser"
5.shell
在远程主机上调用shell解释器执行命令,支持shell的各种功能
ansible all -m shell -a "echo mowang|passwd --stdin testuser"
6.file
该模块主要用于设置文件的属性,比如创建文件、创建链接文件、删除文件等
ansible all -m file -a "path=/var/tmp/hello stste=directory"
ansible all -m file -a "path=/var/tmp/fstab path=/var/tmp/fstab.link stste=link"
7.cron
ansible all -m cron -a 'minute="*/3" job="/usr/sbin/update 10.0.0.50 &> /dev/null" name="tongbushijian"'
8.yum
ansible all -m yum -a 'name=nginx state=installed'
9.service
ansible all -m service -a 'name=nginx enabled=true state=started'
10.script
cat test.sh
#!/bin/bash
echo "this is test script" > /opt/script.txt
ansible all -m script -a '/tmp/test.sh'
Ansible之常用模块介绍的更多相关文章
- Ansible常用模块介绍及使用(week5_day1_part2)--技术流ken
Ansible模块 在上一篇博客<Ansible基础认识及安装使用详解(一)--技术流ken>中以及简单的介绍了一下ansible的模块.ansible是基于模块工作的,所以我们必须掌握几 ...
- Ansible常用模块介绍及使用(2)
Ansible模块 在上一篇博客<Ansible基础认识及安装使用详解(一)–技术流ken>中以及简单的介绍了一下ansible的模块.ansible是基于模块工作的,所以我们必须掌握几个 ...
- python基础31[常用模块介绍]
python基础31[常用模块介绍] python除了关键字(keywords)和内置的类型和函数(builtins),更多的功能是通过libraries(即modules)来提供的. 常用的li ...
- ansible中常用模块详解
ansible中常用的模块详解: file模块 ansible内置的可以查看模块用法的命令如下: [root@docker5 ~]# ansible-doc -s file - name: Sets ...
- Ansible之常用模块(一)
ansible之所以功能强大,不是ansible本身,是因为它有众多的模块,前文我们介绍了ansible的基础介绍,系列命令的用法以及选项的说明,通过前文的学习我们知道了ansible是基于pytho ...
- ansible 四常用模块
常用模块 Ansible默认提供了很多模块来供我们使用.在Linux中,我们可以通过 ansible-doc -l 命令查看到当前Ansible支持哪些模块,通过 ansible-doc -s [模块 ...
- IIS7 常用模块介绍说明
1.1.0 IIS常用的功能模块介绍: 1) 静态内容:可发布静态 Web 文件格式,比如 HTML 页面和图像文件. 2) 默认文档:允许您配置当用户未在 URL ...
- ansible api常用模块与参数
###ansibleAPI 常用模块 用于读取yaml,json格式的文件 from ansible.parsing.dataloader import DataLoader #用于管理变量的类,包括 ...
- ansible API 常用模块
常用模块 用于读取yaml,json格式的文件 from ansible.parsing.dataloader import DataLoader #用于管理变量的类,包括主机,组,扩展等变量 fro ...
随机推荐
- 10 RESTful 实现权限控制
1 2 身份控制 3 4 只能显示5条数据 5 权限控制 序列化渲染深度 6
- HDU 3896 Greatest TC 双连通分量
题意 给一个连通的无向图,有两种询问: \(a, b, c, d\),问如果删掉\(c,d\)之间的边,\(a,b\)之间是否还连通 \(a, b, c\),问如果删掉顶点\(c\),\(a,b\)之 ...
- P1880 石子合并
P1880 石子合并 题目描述 在一个园形操场的四周摆放N堆石子,现要将石子有次序地合并成一堆.规定每次只能选相邻的2堆合并成新的一堆,并将新的一堆的石子数,记为该次合并的得分. 试设计出1个算法,计 ...
- 第八届蓝桥杯C/C++ B组省赛----分巧克力
分巧克力 问题描述 儿童节那天有K位小朋友到小明家做客.小明拿出了珍藏的巧克力招待小朋友们. 小明一共有N块巧克力,其中第i块是Hi x Wi的方格组成的长方形. 为了公平起见,小明需要从这 N 块巧 ...
- ios开发学习笔记040-autolayout 第三方框架Masonry
不管是是界面创建约束还是代码创建约束,苹果官方提供的方式都比较繁琐.所以出现了第三方框架. Masonry 在github地址如下: https://github.com/SnapKit/Masonr ...
- git放弃修改&放弃增加文件
1. 本地修改了一堆文件(并没有使用git add到暂存区),想放弃修改. 单个文件/文件夹: git checkout -- filename 所有文件/文件夹: git checkout . 2. ...
- csu-2018年11月月赛Round2-div1题解
csu-2018年11月月赛Round2-div1题解 A(2191):Wells的积木游戏 Description Wells有一堆N个积木,标号1~N,每个标号只出现一次 由于Wells是手残党, ...
- PAT乙级 1001(C)+1054(Java)
准备一天两道题,就这样吧,先从水题开始. 1001.点击查看 分析:看懂题就应该写出来了,注意边界与0情况的处理. #include<stdio.h> #include<math.h ...
- Leetcode 650.只有两个键的键盘
只有两个键的键盘 最初在一个记事本上只有一个字符 'A'.你每次可以对这个记事本进行两种操作: Copy All (复制全部) : 你可以复制这个记事本中的所有字符(部分的复制是不允许的). Past ...
- linq本质扩展方法+lambda表达式
string[] names = { "aa","bb","cc","dd"}; /* IEnumerable<s ...