软件相关模块

yum

  rpm和yum的区别

    rpm:redhat package manager yum可以解决依赖关系

  yum源配置

[epel]
name=Extra Packages for Enterprise Linux - $basearch #名字
baseurl=http://mirrors.aliyun.com/epel/7/$basearch #rpm源的地址,可以写http,https,ftp,Samba,file:
failovermethod=priority
enabled= # 是否开启,1代表开启,0表示关闭
gpgcheck= #是否校验签名,1代表校验,0表示校验
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7

  yum安装包组

yum grouplist # 查看包组信息
yum groupinstall # 安装包组

  ansible yum

disablerepo #禁用源
enablerepo #启用源
name #包名
state install (`present' or `installed', `latest'), or remove (`absent' or `removed') 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"' # 安装包组

pip 

pip install 安装包
pip freeze > a.txt 将python的环境打包到文件中
pip install -r a.txt 安装文件中的包
pip list 查看所有的以安装成功的包

pip回顾

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
分 时 日 月 周 任务
*/ * * * job 每隔两个小时
, * * * job 12点和13点
- * * * job 12点到17点
-/ * * ,,, 周1,周3,周6,周7 12点到17点每隔两个小时
crontab -e # 编辑计划任务
crontab -l # 查看计划任务
crontab -r # 删除计划任务

回顾

day  天
disabled 禁用
hour 小时
job 任务
minute 分钟
month 月
name 任务名字
weekday 周 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
普通用户
系统用户 不能登录 - centos7 - centos6
登录用户 可以登录 - centos7 - centos6
用户组:
管理员组 root
系统用户组 - centos7 - centos6
登录用户组 - centos7 - centos6 -d 指定用户的家目录
-g 指定用户的组
-G 执行用户的附加组
-s 指定登录后使用的shell
-r 创建一个系统组
useradd -r wusir 创建系统用户, 从999倒序
useradd -s /sbin/nologin alexsb 创建的是普通用户,从1000开始升序
useradd -d /opt/alexsb2 alexsb2 创建用户时指定用户的家目录
useradd -u alexsb6 # 创建用户并指定用户的uid
userdel alex 删除用户
userdel -r alexsb2 删除用户并删除用户的家目录 groupadd yuchao 创建用户组
groupdel yuchao 删除用户组

回顾

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
ansible db -m user -a 'name=wulaoshi state=absent' #删除用户但是不删除用户的家目录
ansible db -m user -a 'name=wulaoshi3 state=absent remove=yes' # 删除用户并删除用户的家目录

group

gid 组的id
name 组名
system 系统组
state
ansible db -m group -a 'name=wulaoshi system=yes' #创建系统组
ansible db -m group -a 'name=wulaoshi state=absent' # 删除组

ansible剧本

yaml

  yaml:是一个变成语言(写配置的类似ini,xml)

  字典:key: value

  列表:-

  后缀名:yaml、yml

ansible-playbook命令格式

执行顺序:从上往下

特性:幂特性 不管执行多少遍,结果都是一样的

ansible-playbook [options] playbook.yml [playbook2 ...]
-C, --check # 检查,白跑,干跑
-f FORKS, --forks=FORKS #用来做并发
--list-hosts # 列出主机列表
--syntax-check # 语法检查

配置文件(格式很严格)

# 简单用法
- hosts: web
tasks:
- name: creategroup
group: name=alex10
- name: cretaeuser
user: name=wusir10 # 需要传参

 - hosts: web
 tasks:
 - name: create{{ user }}
 user: name={{ user}}

第一种方式

ansible-playbook -e 'user=alexsb10' p2.yml

第二种方式

[db]
192.168.107.132 user=alexsb11
192.168.107.133 user=alexsb12

第三种方式

[db:vars] #表示组的参数
user=alexsb13

第四种方式

- hosts: db
vars:
- user: alexsb14
tasks:
- name: create{{ user }}
user: name={{ user}}

第五种方式

- hosts: db
tasks:
- name: sum
shell: echo +|bc
register: user
- name: createuser
user: name={{user.stdout}}

传参方式的优先级

  -e > playbook vars > hosts文件

ansible(二)的更多相关文章

  1. Ansible二三事

    现在,慢慢测试一下ANSIBLE的功能,不过,总体感觉是,比SALTSTACK运行要慢,好像还有点点不稳定.... 但,在局域环境的表现,还是不错的... ~~~~~~~~~~~~~ 有几个小事要注意 ...

  2. ansible(二)

    一.软件相关模块 1.yum(下载包) 正常操作 yum 与rpm的区别 yum可以解决依赖关系rpm 全称readhat package manager(红帽包管理工具),需要自己解决依赖 yum源 ...

  3. ansible 二主机和组

    主机清单的管理 Ansible安装好之后的主机清单配置文件有如下两种: 1.yum安装,配置文件默认路径为: /etc/ansible/hosts 2.源码包安装,主机清单配置文件路径需要从软件包里面 ...

  4. Ansible(二) - 配置及命令简介

    Ⅰ. Ansible Inventory Hosts文件配置 # mkdir /etc/ansible # touch /etc/ansible/hosts # cat /etc/hosts 127. ...

  5. Ansible Ubuntu 安装部署

    一.安装: $ sudo apt-get install ansible 二.配置: a.基本配置 $ cd /etc/ansible/ $ sudo cp hosts hosts_back 备份一个 ...

  6. Ansible学习笔记

    一.Ansible简介 Ansible是一种agentless(基于ssh),可实现批量配置.命令执行和控制,基于Python实现的自动化运维工具. 其特性有: ①模块化:通过调用相关模块,完成指定任 ...

  7. Ansible - 简介和应用自动化基础实践

    installAnsible简介和应用自动化基础实践 一.引入: 1.1  如官方定义,Ansible is The simplest way to automate apps and IT infr ...

  8. ansible 自动化运维

    Ansible 自动化运维 ansible安装epel #yum list all *ansible*#yum install *ansible*#yum info ansible#rpm -ql a ...

  9. ansible学习笔记一

    ansible学习笔记一 参考博客: ansible学习 - 51CTO博客 一.安装 1 .下载epel源 wget -O /etc/yum.repos.d/epel.repo http://mir ...

  10. Ansible基础入门

    1.1 Ansible是什么        随着移动互联.物联网.互联网+.大数据.云计算等大规模应用的催生推动,以及人们日常生活的互联网化,互联网的蓬勃发展不仅冲击影响着整个经济体,更对人们的生活理 ...

随机推荐

  1. Java编程思想之十二 通过异常处理错误

    Java的基本概念是结构不佳的代码不能运行余下的问题必须在运行期间解决,这就需要错误源能通过某种方式,把适当的信息传递给某个接收者--该接收者将知道如何正确处理这里问题. 12.1 概念 使用异常所带 ...

  2. [原创]UnLua Emmylua UE4开发环境搭建

    前言 公司开发的第二个虚幻4项目已经上线了,慢慢趋于稳定.回想起开荒的日子,历历在目.从引擎脚本的选择,各工具(导表,协议生成...)的重构.开发, 引擎扩展(多骨骼支持,Notify扩展,技能编辑器 ...

  3. 调用 Dll 中的函数时,出现栈(STACK)的清除问题 -> 故障模块名称: StackHash_0a9e

    在一个名为 test.dll 文件中,有一个 Max() 函数的定义是: #ifdef BUILD_DLL #define DLL_EXPORT __declspec(dllexport) __std ...

  4. JavaScript 一些实用技巧

    快速创建从0到n的数字 let arr1 = [...(new Array(n)).keys()]; let arr2 = Array.from({length:n},(v, k) => k); ...

  5. kubectl rollout回滚和autoscale自动扩容

    系列目录 kubernetes 滚动升级 Kubernetes 中采用ReplicaSet(简称RS)来管理Pod.如果当前集群中的Pod实例数少于目标值,RS 会拉起新的Pod,反之,则根据策略删除 ...

  6. spring boot EnableAutoConfiguration exclude 无效

    本文链接:https://blog.csdn.net/ID19870510/article/details/79373386 首先讲一下SpringBootApplication注解源码定义为 @Ta ...

  7. Authentication using SASL/Kerberos

    Prerequisites KerberosIf your organization is already using a Kerberos server (for example, by using ...

  8. C#程序计算N阶行列式的值及N元一次方程组

    C#程序计算N阶行列式的值及N元一次方程组 用了挺长时间自行完成了C#程序计算N阶行列式的值及N元一次方程组.由于自己没有在网上查阅其他资料,所以只能硬着头皮用最朴素的思想和基础的算法进行编程.在给出 ...

  9. only size-1 arrays can be converted to Python scalars

    python版本:3.6.5 opencv版本:3.2.0 使用的jupyter notebook 源码如下: import cv2 import numpy as np import matplot ...

  10. Python面向对象之私有属性和私有方法

    01. 应用场景及定义方式 应用场景 在实际开发中,对象 的 某些属性或方法 可能只希望 在对象的内部被使用,而 不希望在外部被访问到 私有属性 就是 对象 不希望公开的 属性 私有方法 就是 对象  ...