ansible 软件相关模块,剧本
软件相关模块
yum
rpm和yum的区别
rpm:redhat package manager yum 可以解决依赖关系
yum 源配置
使用yum下载时需要先下载epel
[epel] name=Extra Packages for Enterprise Linux 7 - $basearch #名字 baseurl=http://mirrors.aliyun.com/epel/7/$basearch #rpm源的地址,可以写http,https,ftp,Samba,file: failovermethod=priority enabled=1 # 是否开启,1代表开启,0表示关闭 gpgcheck=0 #是否校验签名,1代表校验,0表示校验 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
yum 安装包组
yum grouplist # 查看包组信息 yum groupinstall # 安装包组
disablerepo #禁用源 enablerepo #启用源 name #包名 state install (`present' or `installed', `latest'), or remove (`absent' or `removed')
ep
ansible web -m yum -a 'name=wget' # 安装wget ansible web -m yum -a 'name=python2-pip' # 安装python2-pip ansible web -m yum -a 'name=wget state=absent' # 卸载软件包ansible web -m yum -a 'name="@Development Tools"' # 安装包组
检查模块是否安装成功
rpm -qa|grep 模块名
pip
pip install 安装包 pip freeze > a.txt 将python的环境打包到文件中 pip install -r a.txt 安装文件中的包 pip list 查看所有的以安装成功的包
ansible web -m pip -a 'name=flask' # 安装flask模块
service
ps -ef|grep nginx #查看进程 ss -tnlp # 查看端口信息 systemctl start nginx # centos7 service nginx start # centos6 systemctl enabled nginx # centos7 开机自启动 chkconfig nginx on # centos6开机自启动
ansible web -m service -a 'name=nginx state=started' # 启动nginx ansible web -m service -a 'name=nginx state=stopped' # 关闭nginx
计划任务
cron
* * * * * job 分 时 日 月 周 任务 0 */2 * * * job 每隔两个小时 0 12,13 * * * job 12点和13点 0 12-17 * * * job 12点到17点 0 12-17/2 * * 1,3,6,0 周1,周3,周6,周7 12点到17点每隔两个小时 crontab -e # 编辑计划任务 crontab -l # 查看计划任务 crontab -r # 删除计划任务
day 天 disabled 禁用 hour 小时 job 任务 minute 分钟 month 月 name 任务名字 weekday 周
minute=26 值在第26分钟 ansible db -m cron -a 'minute=26 job="touch /tmp/xzmly.txt" name=touchfile' # 新建一个计划任务 ansible db -m cron -a 'name=touchfile state=absent' # 删除一个计划任务 ansible db -m cron -a 'minute=26 job="touch /tmp/xzmly.txt" name=touchfile disabled=yes' # 禁用计划任务,以#表示禁用
用户相关
user
用户:管理员 root 0普通用户系统用户 不能登录 1-999 centos7 1-499 centos6登录用户 可以登录 1000-65535 centos7 500-65535 centos6 用户组:管理员组 root 0系统用户组 1-999 centos7 1-499 centos6登录用户组 1000-65535 centos7 500-65535 centos6 -d 指定用户的家目录-g 指定用户的组-G 执行用户的附加组-s 指定登录后使用的shell-r 创建一个系统组useradd -r wusir 创建系统用户, 从999倒序useradd -s /sbin/nologin alexsb 创建的是普通用户,从1000开始升序useradd -d /opt/alexsb2 alexsb2 创建用户时指定用户的家目录useradd -u 3000 alexsb6 # 创建用户并指定用户的uid userdel alex 删除用户userdel -r alexsb2 删除用户并删除用户的家目录
\
group 组 groups 附加组 home 家目录 name 用户名 password 密码 remove ? shell 用户登录后使用的shell system 创建一个系统用户 uid 用来指定用户的id state 状态 ansible db -m user -a 'name=wulaoshi uid=4000 home=/opt/wulaoshi groups=root shell=/sbin/nologin' #创建一个用户,并指定用户的id,用户的家目录,用户的附加组,用户的shell #shell=/sbin/nologin 无需输入密码登录ansible db -m user -a 'name=wulaoshi state=absent' #删除用户但是不删除用户的家目录 ansible db -m user -a 'name=wulaoshi3 state=absent remove=yes' # 删除用户并删除用户的家目录
在查询创建的新用户时,可以使用
cat /etc/passwd cat /etc/passwd|grep 用户名
group
groupadd yuchao 创建用户组groupdel yuchao 删除用户组
gid 组的id name 组名 system 系统组 state ansible db -m group -a 'name=wulaoshi system=yes' #创建系统组 ansible db -m group -a 'name=wulaoshi state=absent' # 删除组
ep
web创建一个用户组alex10ansible web -m group -a 'name=alex10'创建一个用户wusir10ansible web -m user -a 'name=wusir10'把/etc/fstab文件复制到远程主机上/tmp/fansible web -m copy -a 'src=/etc/fstab dest=/tmp/f'安装nginx,并启动,设置开机自启动ansible web -m yum -a 'name=nginx'ansible web -m service -a 'name=nginx enabled=yes'
ansible 剧本
yaml
是一个编程语言 xml 是用来写配置文件的一个语言 ini yaml
字典: key: value
列表: [] -
后缀名 yaml yml
ansible-playbook命令格式
执行顺序: 从上往下
特性:幂等性 不管执行多少遍,结果都是一样的
ansible-playbook [options] playbook.yml [playbook2 ...] -C, --check # 检查,白跑,干跑 -f FORKS, --forks=FORKS #用来做并发 --list-hosts # 列出主机列表 --syntax-check # 语法检查
简单用法 # 格式非常严谨
需要创建一个 p1.yml 文件
标准:
- hosts: webtasks:- name: creategroupgroup: name=alex10- name: cretaeuseruser: name=wusir10
伪代码
hosts: gb tasks: - name: 第san个姑娘dong: 第san个姑娘
传参
标准:
- hosts: webtasks:- name: create{{ user }}user: name={{ user}}
#在运行前需要检查代码是否准确哦
第一种方式
ansible-playbook -e 'user=alexsb10' p2.yml
第二种方式 在/etc/ansible/hosts 文件修改
[db] 192.168.107.132 user=alexsb11 192.168.107.133 user=alexsb12
第三种方式 在/etc/ansible/hosts 文件修改
#放在[db]下面
[db] 192.168.107.132 192.168.107.133 [db:vars] #表示组的参数 user=alexsb13
第四种方式
- hosts: dbvars:- user: alexsb14tasks:- name: create{{ user }}user: name={{ user}}i
第五种传参方式
- hosts: dbtasks:- name: sumshell: echo 7+8|bcregister: user- name: createuseruser: name={{user.stdout}}
传参方式的优先级
-e > playbook > hosts文件
内容总结
模块- yum 安装包- @ - pip 安装python的模块- requirements - service- enabled=yes - corn- disabled=yes - user- system=yes - group- system=yes剧本- yaml 格式 (格式要求比较严格) - 传参- -e- hosts文件 主机列表后面- hosts文件[groupname:vars]- playbook里面写vars- register - 传参的优先级- -e > playbook > hosts
转载于:https://www.cnblogs.com/zhangqing979797/p/10408649.html
ansible 软件相关模块,剧本相关推荐
- 软件相关模块与ansible剧本
一 软件相关的模块 yum rpm和yum的区别 rpm:rehat pachage manager yum可以解决依赖关系 yum源配置 epel的参数[epel] name=Extra Pac ...
- ansible软件模块参数
ansible-doc -l|wc -l 1378 官方网站:docs.ansible.com ansible 管理主机信息或者主机组信息 -m 模块名称 -a 相关模块参数 主机信息:远程主机IP地 ...
- 自动化运维工具——ansible安装及模块介绍
ansbile 前言 一.主流自动化运维工具简介 1.1 Puppet 1.2 Saltstack 1.3 Ansible 二.Ansible 运维工具原理 三.Ansible安装 3.1 下载软件包 ...
- 04 ansible其他常见模块(yum模块、service模块、mount模块、cron模块、user模块、group模块)...
linux主机性能变差 1.top htop 查看cup负载情况 2.free -h 查看内存负载情况 3. iotop 查看磁盘负载情况 ansible服务部署安装 a.安装服务软件 b.编写主机清 ...
- 自动化运维工具Ansible实战---常用模块
Ansible默认提供了很多模块来供我们使用.在Linux中,我们可以通过 ansible-doc -l 命令查看到当前Ansible支持哪些模块,通过 ansible-doc -s [模块名] 又可 ...
- 5. [mmc subsystem] mmc core(第五章)——card相关模块(mmc type card)
零.说明(重要,需要先搞清楚概念有助于后面的理解) 1.mmc core card相关模块为对应card实现相应的操作,包括初始化操作.以及对应的总线操作集合.负责和对应card协议层相关的东西. 这 ...
- ansible之setup模块常用的信息
ansible的setup模块非常好用,但给出的信息十分全面,有时候我们并不需要全部的信息. 过滤出指定的信息:例->ansible all -m setup -a "filter=a ...
- 规划云:GIS相关模块
前言 最近意外发现了一个神仙网站:规划云,虽然是个跟城市规划相关的网站,但仔细研究可以发现很多与GIS相关的东西.仅是初步了解一下,就觉得这网站真是不错,所以记录一下学习的东西. 网站的模块包括:规划 ...
- Linux内核4.14版本——mmc core(4)——card相关模块(mmc type card)
目录 1. 简介 1.1 mmc card的几种类型 1.2 mmc子系统如何区分使用哪种card的?(mmc_rescan) 2. mmc type card协议相关操作 3. 一些重要的API函数 ...
最新文章
- switch...case结构
- linux 防火墙开机启动项,Ubuntu 9.10下实现Firestarter网络防火墙自启动
- spring cloud nacos_SpringCloud Alibaba系列之Nacos配置中心玩法
- 用 Linux 和 Apache Hadoop 进行云计算
- MyISAM 和InnoDB 的区别.(存储,索引, 事务, 锁)
- 数据结构和算法之排序一:归并排序
- java 关闭启动日志,求助啊无法启动java了点开就是报错要求查看日志
- 解决Visual Studio 2008 下,打开.dbml(LINQ) 文件时,提示The operation could not be completed. 的问题。...
- Spring Bean配置默认为单实例 pring Bean生命周期
- linux系统交叉编译如何打包,构建ARM Linux交叉编译器
- SQL注入攻击原理及防御策略
- u盘如何安装xp和linux,怎样从U盘安装Windows XP?
- hardfault常见原因_应对STM32 Cortex-M3 Hard Fault异常
- 浏览器主页被hao123锁定解决办法
- matlab 打开avi,Matlab读取avi视频并播放 你必须要知道的
- 如何成为一个高级java程序员
- python list是不可变的数据类型吗_python中不可变数据类型和可变数据类型
- 以太坊学习路线——(一)私有链搭建与基本操作
- VIM 编辑器使用教程
- Proteus仿真数字钟表电路实验报告(可下载工程文件)
热门文章
- 江苏职称计算机考试汇总,江苏省职称计算机考试.doc
- day_14 常用API
- 【源码】虎年背景头像框制作+安全检测
- nginx5种负载策略的设置方法
- 高德 linux python,Python高德地图API实用篇
- Py之pymssql:Python库之pymssql的简介、安装、使用方法之详细攻略
- fastlane 错误之 PGYER Plugin Error: error installType
- 3DMAX游戏角色头部建模教程
- 系统运维:北京某金融公司中级系统运维笔试题-2020年9月份
- 3DMax插件安装方法介绍