ansible基础知识(二)
软件相关模块
yum
yum和rpm的区别
rpm:
(Redhat package manager)RPM管理支持事务机制。增强了程序安装卸载的管理。
yum:
YUM被称为 Yellow dog Updater, Modified,是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。YUM使用Python语言写成。YUM客户端基于RPM包进行管理,可以通过HTTP服务器下载、FTP服务器下载、本地软件池的等方式获得软件包,可以从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系。
YUM在安装RPM时,会从服务器下载相应包,且缓存在本地。
使用YUM进行RPM包的管理,非常简单方便。
yum 源配置
- [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')
- ansible web -m copy -a 'src=/etc/yum.repos.d/epel.repo dest=/etc/yum.repos.d/epel.repo' # 复制epel源到被控机组
语法格式:
- 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语法:
- pip install <安装包>
- pip freeze > a.txt # 将python的环境打包到文件中
- pip install -r a.txt # 安装文件中的包
- pip list # 查看所有的以安装成功的包
ansible中pip使用pip
- ansible web -m service -a 'name=nginx state=started' # 启动nginx
- ansible web -m service -a 'name=nginx state=stopped' # 关闭nginx
计划任务
crontab 语法
- * * * * * 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 # 删除计划任务
ansible中cron参数
- day 天
- disabled 禁用
- hour 小时
- job 任务
- minute 分钟
- month 月
- name 任务名字
- weekday 周
ansible中cron语法
- 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' # 禁用计划任务,以#表示禁用
用户相关
- 用户:
- 管理员 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 删除用户并删除用户的家目录
- 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' # 删除组
实例
- # 创建一个用户组alex10
- ansible web -m group -a 'name=alex10'
- # 创建一个用户wusir10
- ansible web -m user -a 'name=wusir10'
- # 把/etc/fstab文件复制到远程主机上/tmp/f
- ansible 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基础知识(二)的更多相关文章
- java 基础知识二 基本类型与运算符
java 基础知识二 基本类型与运算符 1.标识符 定义:为类.方法.变量起的名称 由大小写字母.数字.下划线(_)和美元符号($)组成,同时不能以数字开头 2.关键字 java语言保留特殊含义或者 ...
- 菜鸟脱壳之脱壳的基础知识(二) ——DUMP的原理
菜鸟脱壳之脱壳的基础知识(二)——DUMP的原理当外壳的执行完毕后,会跳到原来的程序的入口点,即Entry Point,也可以称作OEP!当一般加密强度不是很大的壳,会在壳的末尾有一个大的跨段,跳向O ...
- Dapper基础知识二
在下刚毕业工作,之前实习有用到Dapper?这几天新项目想用上Dapper,在下比较菜鸟,这块只是个人对Dapper的一种总结. 2,如何使用Dapper? 首先Dapper是支持多种数据库的 ...
- python基础知识(二)
python基础知识(二) 字符串格式化 格式: % 类型 ---- > ' %类型 ' %(数据) %s 字符串 print(' %s is boy'%('tom')) ----> ...
- Java基础知识二次学习--第三章 面向对象
第三章 面向对象 时间:2017年4月24日17:51:37~2017年4月25日13:52:34 章节:03章_01节 03章_02节 视频长度:30:11 + 21:44 内容:面向对象设计思 ...
- Java基础知识二次学习-- 第一章 java基础
基础知识有时候感觉时间长似乎有点生疏,正好这几天有时间有机会,就决定重新做一轮二次学习,挑重避轻 回过头来重新整理基础知识,能收获到之前不少遗漏的,所以这一次就称作查漏补缺吧!废话不多说,开始! 第一 ...
- 快速掌握JavaScript面试基础知识(二)
译者按: 总结了大量JavaScript基本知识点,很有用! 原文: The Definitive JavaScript Handbook for your next developer interv ...
- Java基础知识二次学习--第六章 常用类
第六章 常用类 时间:2017年4月26日16:14:49~2017年4月26日16:56:02 章节:06章_01节~06章_06节 视频长度:20:57+1:15+8:44+1:26+11:2 ...
- java接口自动化基础知识(二)
二.HttpClient+testNG实现对接口的测试及校验 在上面第一篇中已经实现了基础配置和测试用例数据准备,本篇文章将以登录举例进行测试执行. 这是之前login接口的代码 @Test(grou ...
随机推荐
- 开源的多行字符串工具: 在JS中整段地写HTML
这样看来ES6的多行字符模板可能就不需要了-- 通过这个你可以整段整段地在JS中写HTML.SQL了. 示例 之前你得这样写 var str = '' +'<!doctype html>' ...
- 洛谷—— P2196 挖地雷
https://www.luogu.org/problem/show?pid=2196 题目背景 NOIp1996提高组第三题 题目描述 在一个地图上有N个地窖(N<=20),每个地窖中埋有一定 ...
- [BZOJ1045][HAOI2008]糖果传递(数学分析)
题目:http://www.lydsy.com:808/JudgeOnline/problem.php?id=1045 分析:均分纸牌的环状版本. 先看线性的版本: 设f[i]表示第I位从第i+1位得 ...
- Nginx源码分析:3张图看懂启动及进程工作原理
编者按:高可用架构分享及传播在架构领域具有典型意义的文章,本文由陈科在高可用架构群分享.转载请注明来自高可用架构公众号「ArchNotes」. 导读:很多工程师及架构师都希望了解及掌握高性能服务器 ...
- 1. MissingInteger 最小遗失整数 Find the minimal positive integer not occurring in a given sequence.
package com.code; import java.util.Arrays; public class Test04_1 { public static int solution(int[] ...
- Shell细小问题汇总
Shell细小问题汇总 本文原文出处: http://blog.csdn.net/bluishglc/article/details/44276607 严禁不论什么形式的转载,否则将托付CSDN官方维 ...
- zoj 1880 - Tug of War
题目:有n个人分成两组,两组人数差不能超过1,找到两组的人重量之差的最小值. 分析:dp,二维01背包. 由于必须放在两个组中的一组,直接背包全部可到状态, 取出相差不超过 1的最接近 sum/2的值 ...
- poj 2559求柱形图中最大矩形
两种解法.当中一种是用单调栈. 我想到的是第二种:最大的矩形,中间一定有个最矮的某个单位矩形.所以求出每一个包括矩形histogram[i]的最大矩形的面积.输出这些面积中最大那个就可以. key:用 ...
- TomCatserver的安装,环境的配置,服务的启动以及验证---ShinePans
首先下载 TomCat 6: http://yunpan.cn/cg5icf3dha4k3 提取码 34c5 然后配置环境变量: 电脑>>>属性>>>高级系统设置 ...
- hdoj 4925 Apple tree 【最小割】
题目:pid=4925">hdoj 4925 Apple tree 来源:2014 Multi-University Training Contest 6 题意:给出一个矩阵,然后每一 ...