Ansible安装及常用模块
配置文件:/etc/ansible/ansible.cfg
主机列表:/etc/ansible/hosts
安装anslibe
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
yum -y install ansible
配置文件先备份


修改配置文件hosts添加主机组 (分组)

如果要远程连接需要配置用户名和密码或密钥(两种方式都可以)
用户密码:
[webtest]
192.168.32.132 ansible_ssh_user=root ansible_ssh_pass=登录密码
192.168.32.131 ansible_ssh_user=root ansible_ssh_pass=登录密码
密钥:
生成私钥和公钥 ssh-keygen -t rsa -P ''

注意文件权限:
[root@localhost .ssh]# cp id_rsa.pub authorized_keys
[root@localhost .ssh]# ll
total 16
-rw-r--r-- 1 root root 408 Mar 14 22:32 authorized_keys
-rw------- 1 root root 1679 Mar 14 22:32 id_rsa
-rw-r--r-- 1 root root 408 Mar 14 22:32 id_rsa.pub
-rw-r--r-- 1 root root 352 Mar 14 22:20 known_hosts
[root@localhost .ssh]# chmod 600 authorized_keys
[root@localhost .ssh]# ll authorized_keys
-rw------- 1 root root 408 Mar 14 22:32 authorized_keys
公钥分别发送到被管理的主机:
scp authorized_keys 192.168.32.132:/root/.ssh/
scp authorized_keys 192.168.32.131:/root/.ssh/
测试OK:

常用模块:
注意:command和shell模块的核心参数直接为命令本身;而其它模块的参数通常为“key=value”格式
-m command (如下没写-m command 是因为默认模式是 command)
ansible测试:ping模块测试连通性

第一个要做的就是时间同步:
首先使用ansible的yum模块批量安装ntpdate服务
ansible all -m yum -a "state=present name=ntpdate"
批量删除两种方式:
ansible all -m yum -a "state=removed name=ntpdate"
ansible all -m yum -a "state=absent name=ntpdate"
指定节点安装及删除:
安装:ansible 192.168.32.131 -m yum -a "state=present name=ntpdate"
删除:ansible 192.168.32.131 -m yum -a "state=remove name=ntpdate"
时间同步:
ansible all -a 'ntpdate ntp1.aliyun.com'
获取模块列表:ansible-doc -l
获取指定模块的使用帮助:ansible-doc -s MOD_NAME
创建用户:

copy模块:复制文件到远程主机
用法:
(1) 复制文件
-a "src=原地址 dest=目标地址 mode=644 权限 "
(2) 给定内容生成文件
-a "content= dest= "

复制文件:
src原地址 dest目标地址 mode权限
注:如果文件存在将覆盖原文件,并没有提示操作需小心。
ansible all -m copy -a "src=/etc/ansible/hosts.bak dest=/opt/ mode=600"
file模块:
用法:
(1) 创建目录:
-a "path= state=directory"
(2) 创建链接文件:
-a "path= src=\'#\'" /p>
(3) 删除文件:
-a "path= state=absent“
修改文件用户组属性:
ansible all -m file -a "path=/tmp/hosts.bak mode=644 owner=root group=root"
创建目录及修改属性:
创建目录
ansible webtest -m file -a "path=/opt/work state=directory"
修改组属性
ansible webtest -m file -a "path=/opt/work mode=755 owner=root group=root"
创建软链:
ansible all -m file -a "src=/opt/hosts.bak path=/tmp/hosts.link state=link"

删除软链:
ansible all -m file -a "path=/tmp/hosts.link state=absent"
fetch模块:从远程主机取文件
批量取:
ansible all -m fetch -a "src=/opt/hosts.bak dest=/root"
指定主机取:
ansible 192.168.32.131 -m fetch -a "src=/opt/hosts.bak dest=/root"

cron模块:管理计划任务条目
用法:
-a ""
minute=
hour=
day=
month=
weekday=
job=
name=
user=
state={present|absent}
创建一个同步时间的计划任务,每5分钟同步一下服务器的时间
ansible all -m cron -a "minute='*/5' job='/usr/sbin/ntpdate ntp1.aliyun.com &> /dev/null' name='时间同步'"

删除计划任务:
ansible all -m cron -a "name='时间同步' state=absent"
hostname模块:管理主机名
用法:
name=
ansible 192.168.32.131 -m hostname -a "name=CentOS_7"

yum模块:使用yum命令完成程序包管理
用法:首先,确定主机的yum源是可用的 yum info samba
-a ""
(1) name= state={present|latest}
(2) name= state=absent
批量安装samba
ansible all -m yum -a "name=samba" 或 ansible all -m yum -a "name=samba state=present | latest"
查看安装状态
ansible all -a "yum info samba"
删除samba
ansible all -m yum -a "name=samba state=absent"
service模块:服务管理
用法:
-a ""
name=
state=
started
stopped
restarted
enabled=
runlevel=
安装httpd
ansible all -m yum -a "name=httpd"
启动httpd
ansible all -m service -a "name=httpd state=started enabled=true"

关闭httpd服务
ansible all -m service -a "name=httpd state=stopped enabled=false"

group模块:增加或删除组
用法:
-a ""
name=
state=
system=
gid=
创建组
ansible all -m group -a "name=ggg system=true"
删除组
ansible all -m group -a "name=ggg state=absent"
user模块:用户管理
使用格式:
name= : 创建的用户名
state= : present新增,absent删除
force= : 删除用户的时候删除家目录
system= : 创建系统用户
uid= : 指定UID
shell= : 指定shell
home= : 指定用户家目录
创建用户
ansible all -m user -a "name=ggg system=true"
查看
ansible all -a "id ggg"
删除用户
ansible all -m user -a "name=ggg state=absent"
setup模块:收集主机里面的各种信息
信息太多,指定一台收集
ansible 192.168.32.131 -m setup
Ansible安装及常用模块的更多相关文章
- ANSIBLE安装和常用模块模块使用详细教程
目录 ANSIBLE安装和各种模块应用功能 安装配置ANSIBLE ANSIBLE使用 ansible-galaxy工具 ansible-pull工具 ansible-playbook ansible ...
- Ansible简介及常用模块
一.基础介绍 1.简介 ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系统配置. ...
- Ansible 入门指南 - 常用模块
介绍 module 文档: 官宣-模块分类的索引 官宣-全部模块的索引 在playbook脚本中,tasks 中的每一个 action都是对 module的一次调用.在每个 action中: 冒号前面 ...
- Ansible指令和常用模块使用
这里文章记录一下ansible的指令选项和常用的模块使用 ansible指令选项 -m:要执行的模块,默认为command -a:模块的参数 -u:ssh连接的用户名,默认用root,ansible. ...
- mage Ansible学习1 常用模块
一.Ansible特点 二.Ansible架构 1.core modules实现常用模块 2.Custom modules实现自定义模块 3.Connection Plugins 连接插件,可通过SS ...
- Ansible Ad-Hoc与常用模块
ansible 执行结果信息–各颜色说明:ansible Ad-Hoc 说明:ansible 如何查看帮助文档与常用模块详解 主机规划 添加用户账号 说明: 1. 运维人员使用的登录账号: 2. 所有 ...
- Saltstack 安装与常用模块
一.介绍 saltstack是基于C/S服务模式,在该架构中,服务器端叫做Master,客户端叫做Minion.传统的C/S模式我们这样理解,客户端发送请求给服务器端,服务器端接受到来自客户端的请求并 ...
- 一次性安装python常用模块
链接:https://pan.baidu.com/s/1fuIxRUnkJJfzgrbQ8kIgvw 提取码:d1r6 电脑必须是win64才可以安装 Anaconda3安装完成后,不需要自己添加环境 ...
- ansible使用,常用模块
使用ansible管理其他主机有两种方式: 1.命令行执行ansible ad-hoc命令 2.把要做的动作行为写入一个文件[playbook脚本],ansible读取脚本自动完成相应的任务. Ans ...
随机推荐
- [转载]C / C++ 计算程序运行的时间
原文链接:https://blog.csdn.net/qq_36667170/article/details/79507547 在学数据结构过程中老师让查看不同算法的运行时间,然后让自己打印运行时间. ...
- synchronized锁住的是代码还是对象,以及synchronized底层实现原理
synchronized (this)原理:涉及两条指令:monitorenter,monitorexit:再说同步方法,从同步方法反编译的结果来看,方法的同步并没有通过指令monitorenter和 ...
- MySQL第三讲 一一一一 视图、触发器、函数、存储过程
1. 视图 1.1 视图前戏 我们之前讲有,临时表的概念. 现在我们创建一个临时表:select * from (select * from tb1 where id between 10 and 1 ...
- linux下重启tomcat命令
在Linux系统下,重启Tomcat使用命令操作的! 首先,进入Tomcat下的bin目录 cd /usr/local/tomcat/bin 使用Tomcat关闭命令 ./shutdown.sh 查看 ...
- 经典解压缩软件 WinRAR 5.80 sc 汉化去广告版
目录 1. 按 2. 提醒 3. 下载地址 1. 按 WinRAR拥有全球超过五千万的用户,是目前最受欢迎的压缩软件, 没有比它更加好的方法来实现高效安全的文件传输,减少电子邮件传输时间,或是迅速压缩 ...
- 启动VMware出现报错:The VMware Authorization Service is not running
出现The VMware Authorization Service is not running.报错的根本原因是开机没有启动"VMware Authorization Service&q ...
- INSERT - 在表中创建新行
SYNOPSIS INSERT INTO table [ ( column [, ...] ) ] { DEFAULT VALUES | VALUES ( { expression | DEFAULT ...
- java数据结构复习02
1.递归问题 1.1汉诺塔问题(递归) 问题描述三个柱子,起初有若干个按大小关系顺序安放的盘子,需要全部移动到另外一个柱子上.移动规则:在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘.移动 ...
- zencart批量表上传后 标题显示为网址 批量修改标题状态 SEO三要素
zencart批量表上传后 标题显示为网址,原因是导入批量表时,产品标题对应状态被重置为0导致的 批量修改标题状态 ', metatags_products_name_status ', metata ...
- 十三、S3C2440 裸机 — 初始化代码及MMU
13.1 NOR FLASH 搬运 把程序从 nor flash 上搬运到 SDRAM 中 程序存储在 nor flash 上,运行时将程序搬运到 SDRAM 中运行 nor flash 启动:nor ...