软件相关模块

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 软件相关模块,剧本相关推荐

  1. 软件相关模块与ansible剧本

    一 软件相关的模块 yum rpm和yum的区别 rpm:rehat pachage manager   yum可以解决依赖关系 yum源配置 epel的参数[epel] name=Extra Pac ...

  2. ansible软件模块参数

    ansible-doc -l|wc -l 1378 官方网站:docs.ansible.com ansible 管理主机信息或者主机组信息 -m 模块名称 -a 相关模块参数 主机信息:远程主机IP地 ...

  3. 自动化运维工具——ansible安装及模块介绍

    ansbile 前言 一.主流自动化运维工具简介 1.1 Puppet 1.2 Saltstack 1.3 Ansible 二.Ansible 运维工具原理 三.Ansible安装 3.1 下载软件包 ...

  4. 04 ansible其他常见模块(yum模块、service模块、mount模块、cron模块、user模块、group模块)...

    linux主机性能变差 1.top htop 查看cup负载情况 2.free -h 查看内存负载情况 3. iotop 查看磁盘负载情况 ansible服务部署安装 a.安装服务软件 b.编写主机清 ...

  5. 自动化运维工具Ansible实战---常用模块

    Ansible默认提供了很多模块来供我们使用.在Linux中,我们可以通过 ansible-doc -l 命令查看到当前Ansible支持哪些模块,通过 ansible-doc -s [模块名] 又可 ...

  6. 5. [mmc subsystem] mmc core(第五章)——card相关模块(mmc type card)

    零.说明(重要,需要先搞清楚概念有助于后面的理解) 1.mmc core card相关模块为对应card实现相应的操作,包括初始化操作.以及对应的总线操作集合.负责和对应card协议层相关的东西. 这 ...

  7. ansible之setup模块常用的信息

    ansible的setup模块非常好用,但给出的信息十分全面,有时候我们并不需要全部的信息. 过滤出指定的信息:例->ansible all -m setup -a "filter=a ...

  8. 规划云:GIS相关模块

    前言 最近意外发现了一个神仙网站:规划云,虽然是个跟城市规划相关的网站,但仔细研究可以发现很多与GIS相关的东西.仅是初步了解一下,就觉得这网站真是不错,所以记录一下学习的东西. 网站的模块包括:规划 ...

  9. 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函数 ...

最新文章

  1. switch...case结构
  2. linux 防火墙开机启动项,Ubuntu 9.10下实现Firestarter网络防火墙自启动
  3. spring cloud nacos_SpringCloud Alibaba系列之Nacos配置中心玩法
  4. 用 Linux 和 Apache Hadoop 进行云计算
  5. MyISAM 和InnoDB 的区别.(存储,索引, 事务, 锁)
  6. 数据结构和算法之排序一:归并排序
  7. java 关闭启动日志,求助啊无法启动java了点开就是报错要求查看日志
  8. 解决Visual Studio 2008 下,打开.dbml(LINQ) 文件时,提示The operation could not be completed. 的问题。...
  9. Spring Bean配置默认为单实例 pring Bean生命周期
  10. linux系统交叉编译如何打包,构建ARM Linux交叉编译器
  11. SQL注入攻击原理及防御策略
  12. u盘如何安装xp和linux,怎样从U盘安装Windows XP?
  13. hardfault常见原因_应对STM32 Cortex-M3 Hard Fault异常
  14. 浏览器主页被hao123锁定解决办法
  15. matlab 打开avi,Matlab读取avi视频并播放 你必须要知道的
  16. 如何成为一个高级java程序员
  17. python list是不可变的数据类型吗_python中不可变数据类型和可变数据类型
  18. 以太坊学习路线——(一)私有链搭建与基本操作
  19. VIM 编辑器使用教程
  20. Proteus仿真数字钟表电路实验报告(可下载工程文件)

热门文章

  1. 江苏职称计算机考试汇总,江苏省职称计算机考试.doc
  2. day_14 常用API
  3. 【源码】虎年背景头像框制作+安全检测
  4. nginx5种负载策略的设置方法
  5. 高德 linux python,Python高德地图API实用篇
  6. Py之pymssql:Python库之pymssql的简介、安装、使用方法之详细攻略
  7. fastlane 错误之 PGYER Plugin Error: error installType
  8. 3DMAX游戏角色头部建模教程
  9. 系统运维:北京某金融公司中级系统运维笔试题-2020年9月份
  10. 3DMax插件安装方法介绍