ansible 软件相关模块

一 yum 模块

1、yum配置源(/etc/yum.repos.d/epel.repo)

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

2、yum安装包组

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

3、部分参数(ansible-doc yum)

1 disablerepo #禁用源
2 enablerepo #启用源
3 name #包名
4 state  install (`present‘ or `installed‘, `latest‘), or remove (`absent‘ or `removed‘)

4、使用方式

1 ansible web -m yum -a ‘name=wget‘ # 安装wget
2 ansible web -m yum -a ‘name=python2-pip‘ # 安装python2-pip
3 ansible web -m yum -a ‘name=wget state=absent‘ # 卸载软件包
4  ansible web -m yum -a ‘name="@Development Tools"‘ # 安装包组

二、pip模块

1 pip install 安装包
2 pip freeze > a.txt 将python的环境打包到文件中
3 pip install -r a.txt 安装文件中的包
4 pip list 查看所有的以安装成功的包
在远程主机安装模块(如安装flask模块):

ansible web -m pip -a ‘name=flask‘

三、service服务控制命令(可控制远程主机)

1 ps -ef|grep nginx #查看进程
2 ss -tnlp # 查看端口信息
3 systemctl start nginx # centos7
4 service nginx start  # centos6
5 systemctl enabled nginx # centos7 开机自启动
6 chkconfig nginx on # centos6开机自启动
1 # 启动nginx
2 ansible web -m service -a ‘name=nginx state=started‘
3 # 关闭nginx
4 ansible web -mservice -a ‘name=nginx state=stopped‘

四、计划任务 (cron模块)

1 * * * * * job
2 分 时 日 月 周 任务
3 0 */2 *  * *  job  每隔两个小时
4 0 12,13 * * * job 12点和13点
5 0 12-17 * * * job 12点到17点
6 0 12-17/2 * * 1,3,6,0 周1,周3,周6,周7 12点到17点每隔两个小时
7 crontab -e # 编辑计划任务
8 crontab -l # 查看计划任务
9 crontab -r # 删除计划任务
1 ansible db -m cron -a ‘minute=26 job="touch /tmp/xzmly.txt" name=touchfile‘ # 新建一个计划任务
2 ansible db -m cron -a ‘name=touchfile state=absent‘ # 删除一个计划任务
3 ansible db -m cron -a ‘minute=26 job="touch /tmp/xzmly.txt" name=touchfile disabled=yes‘  # 禁用计划任务,以#表示禁用

五、与用户相关的模块

1、user模块

用户基本分类:

 1 用户:
 2     管理员  root 0
 3     普通用户
 4         系统用户  不能登录  1-999 centos7 1-499 centos6
 5         登录用户  可以登录  1000-65535 centos7 500-65535 centos6
 6 用户组:
 7     管理员组 root 0
 8     系统用户组 1-999 centos7 1-499 centos6
 9     登录用户组 1000-65535 centos7 500-65535 centos6
10
11  -d  指定用户的家目录
12  -g  指定用户的组
13  -G  执行用户的附加组
14  -s  指定登录后使用的shell
15  -r 创建一个系统组
16  useradd -r wusir  创建系统用户, 从999倒序
17  useradd -s /sbin/nologin alexsb 创建的是普通用户,从1000开始升序
18   useradd -d /opt/alexsb2 alexsb2 创建用户时指定用户的家目录
19    useradd -u 3000 alexsb6 # 创建用户并指定用户的uid
20   userdel alex 删除用户
21   userdel -r alexsb2 删除用户并删除用户的家目录
22
23   groupadd yuchao 创建用户组
24   groupdel yuchao 删除用户组

使用user模块命令:

 1 group 组
 2 groups 附加组
 3 home 家目录
 4 name 用户名
 5 password 密码
 6 remove ?
 7 shell 用户登录后使用的shell
 8 system 创建一个系统用户
 9 uid 用来指定用户的id
10 state 状态
11 ansible db -m user -a ‘name=wulaoshi uid=4000 home=/opt/wulaoshi groups=root shell=/sbin/nologin‘ #创建一个用户,并指定用户的id,用户的家目录,用户的附加组,用户的shell
12 ansible db -m user -a ‘name=wulaoshi state=absent‘ #删除用户但是不删除用户的家目录
13 ansible db -m user -a ‘name=wulaoshi3 state=absent remove=yes‘ # 删除用户并删除用户的家目录

2、group模块

基本使用:

1 gid 组的id
2 name 组名
3 system 系统组
4 state
5 ansible db -m group -a ‘name=wulaoshi system=yes‘ #创建系统组
6 ansible db -m group -a ‘name=group1‘ # 创建普通组
7 ansible db -m group -a ‘name=wulaoshi state=absent‘ # 删除组

注:删除用户和用户组都有参数:state=absent ,删除用户家目录参数:remove=yes

原文地址:https://www.cnblogs.com/liaopeng123/p/10408665.html

时间: 2024-07-31 16:22:13

ansible 软件相关模块的相关文章

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: failov

Ansible 命令相关模块command, shell, raw, expect, script, telnet[转]

本文主要介绍Ansible的几个命令模块,包括: command - 在远程节点上执行命令 shell - 让远程主机在shell进程下执行命令 script - 将本地script传送到远程主机之后执行 raw - 执行低级的和脏的SSH命令 expect - 执行命令并响应提示 telnet - 执行低级的和脏的telnet命令 command模块 简介 command模块用于在给的的节点上运行系统命令,比如echo hello. 它不会通过shell处理命令,因此不支持像$HOME这样的变

ansible软件模块参数

ansible-doc -l|wc -l1378 ansible 管理主机信息或者主机组信息 -m 模块名称 -a 相关模块参数 主机信息:远程主机IP地址 远程主机组名称 远程所有主机all -m 指定相应模块 -a 利用模块中某些参数功能 (一)命令类型模块: 第一个模块:command 官方参考链接:http://docs.ansible.com/ansible/latest/modules/command_module.html 参数:chdir---在执行某个命令前,先切换目录 [[e

运维自动化好帮手:ansible软件入门篇

一:关于自动化我们要知道的 1.自动化是什么? IT运维自动化是一组将静态的设备结构转化为根据IT服务需求动态弹性响应的策略,目的就是实现IT运维的质量,降低成本.可以说自动化运维一定是IT运维高层面的重要属性之一. 2.为什么要使用自动化技术? 当公司规模扩大,从初期的几台服务器发展到庞大的数据中心时,自然而然的单靠人工就无法满足在技术.业务.管理等方面的要求,那么标准化.自动化.架构优化.过程优化等降低IT服务成本的因素越来越被人们所重视. 3.自动化的目的是什么? 自动化作为其重要属性之一

自动化运维之Ansible安装与模块应用

自动化运维之Ansible Ansible概述 由于互联网快速展导致产品更新换代速度逐渐加快,运维人员每天都要进行大量维护操作,人就按照传统方式进行维护会使工作效率低下,只是,部署自动化运维就尽可能安全,高校的完成工作 一般会把自动化运维工具划分为两类 (一)需要使用代理工具的,也就是基于专用的Agent程序完成管理功能,如:Puppet.Func.Zabbix等(二)不需要配置代理工具,可以直接基于SSH服务来管理完成,如:Ansible,Fabric等 下面介绍几款空能和类似的自动化运维工具

02.ansible的常用模块

可以从ansible-doc -l | grep来找出想要的模块.再使用ansible-doc -s module_name来查看此模块的用法.官方模块列表和说明:https://docs.ansible.com/ansible/latest/modules_by_category.html 关于模块的使用方法,需要注意的是"state".很多模块都会有该选项,且其值几乎都包含有"present"和"absent",表示肯定和否定的意思. ans

自动化运维Ansible之常用模块

目录 0.Ansible模块语法 1.Command模块 2.Shell模块 3.Scripts模块 4.Copy模块 5.File模块 6.Yum模块 7.Service模块 8.Cron模块 9.Group模块 10.User模块 11.Mount模块 12.Unarchive模块 13.Git模块 14.Systemd模块 0.Ansible模块语法 在ansible中是指需要快速执行一条命令,并且不需要保存的命令,对于复杂的命令则为playbook 查看模块帮助:ansible-doc

ansible之setup模块常用的信息

ansible的setup模块非常好用,但给出的信息十分全面,有时候我们并不需要全部的信息. 过滤出指定的信息:例->ansible all -m setup -a "filter=ansible_os_family" ansible_all_ipv4_addresses:仅显示ipv4的信息 ansible_devices:仅显示磁盘设备信息 ansible_distribution:显示是什么系统,例:centos,suse等 ansible_distribution_ver

2、NS3-目录结构和相关模块

Waf是基于Python开发的编译工具,ns-3系统本身和将要写的仿真代码都由waf负责编译运行. Scratch目录一般存放用户脚本文件,也可以把要运行的例子拷贝到该目录下. Example是ns-3提供的关于如何使用ns-3的例子,包含许多模块的使用. Doc目录是帮助文档,可以使用./waf --doxygen编译本地Doxygen文档. Build目录是ns-3编译目录,包含编译文件时使用的共享库和头文件(build/ns3). Src是ns-3源码目录. 模块里面的wscript文件结