[ansible]常用内置模块
前言
ansible内置了很多模块,常用的并不多,可以通过ansible -l命令列出所有模块,使用 ansible-doc module-name 查看指定模块的帮助文档,例如:ansible-doc command
ping模块
主要作用
判断远程客户端是否在线。没有参数
示例
ansible all -m ping
command模块
主要作用
执行Linux基础命令
使用详解
chdir:执行命令前,则不执行该步骤creates:当该文件存在时,则不执行该步骤executable:换用shell环境执行命令free_form:需要执行的脚本removes:当该文加不存在时,则不执行该步骤warn:若在Ansible.cfg中存在告警。如果false,则不会警告此行。- 可以使用
-a加要执行的命令直接执行,不过命令中如果带特殊字符,执行则会失败。
示例
ansible -k -i /etc/ansible/hosts all -m command -a "date"
ansible -k all -m command -a "ping -c www.baidu.com"
ansible zxserver -a "whoami"
ansible zxserver -a "chdir=/tmp/ ls"
ansible zxserver -a "creates=/tmp/testansible.txt date"
copy模块
主要作用
文件或目录复制
参数选项
src:本地源文件或目录的路径,空文件夹不复制content:可替代src,用于将指定文件的内容复制到远程文件内dest:客户端目标目录或者文件,需要绝对路径backup:复制之前,先备份远程节点上的原始文件。backup=yes可以在覆盖之前对文件自动备份directory_mode:用于复制文件夹,新建的文件会被复制,而老旧的不会被复制follow:支持link文件复制force:覆盖远程主机不一致的内容group:设定远程主机文件夹的组名mode:指定远程主机文件及文件夹的权限owner:设定远程主机文件夹的用户名
示例
ansible -k all -m copy -a 'src=/etc/passwd dest=/tmp/ mode=755 owner=root'
ansible -k all -m copy -a 'content="Hello World" dest=/tmp/test.txt mode=755 owner=root'
ansible zxserver -m copy -a "src=/etc/odbc.ini dest=/etc/odbc.ini backup=yes"
YUM模块
主要作用
软件的安装、升级、卸载
使用详解
- name:需要安装的软件名,支持软件组安装
- update_cache:安装前更新缓存
- state:软件包状态,是否安装或卸载
installed: 安装removed: 卸载
示例
ansible all -m yum -a "name=screen state=installed"
file模块
主要作用
用于对文件的创建、删除、修改、权限、属性的维护和管理
参数选项
path:必选项,定义文件/目录的路径state:directory:表示目录,如果目录不存在则创建目录link:创建软链接hard:创建硬链接touch:如果文件不存在则创建,如果存在则更新修改时间。absent:删除目录、文件或者取消链接文件mode:定义文件权限owner:定义属主group:定义属组recurse:递归设置文件属性,只对目录有效src:被链接的源文件路径,只应用于state=link的情况dest:要链接到的目标路径,只应用于state=link的情况
示例
- 示例1:创建一个不存在的目录并进行递归授权
ansible zxserver -m file -a "path=/tmp/abc123 state=directory"
ansible zxserver -m file -a "path=/tmp/abc123 owner=nobody group=nobody mode=0644 recurse=yes"
ansible zxserver -m file -a "path=/tmp/abc1234 owner=sshd group=sshd mode=0644 state=directory"
- 示例2:创建一个文件
ansible zxserver -m file -a "path=/tmp/zhangsan.txt mode=0644"
# 或者
ansible zxserver -m file -a "path=/tmp/zhangsan.txt state=touch"
- 示例3:创建一个软链接
ansible zxserver -m file -a "src=/usr/local/freeswitch/bin/fs_bin dest=/usr/bin/fs_cli state=link"
- 示例4:删除一个文件
ansible zxserver -m file -a "path=/tmp/zhangsan.txt state=absent"
user模块
主要作用
用户管理
示例
# 新增用户
ansible grp1 -m user -a "name=zhangsan password=lisi"
# 删除用户
ansible grp1 -m user -a "name=zhangsan state=absent"
cron模块
主要作用
管理定时任务
使用详解
day、hour、minute、month、weekdaystate:present:创建定时任务absent:删除定时任务
job:要执行的任务,依赖于state=presentspecial_time:特殊的时间范围。参数:reboot:重启时annually:每年monthly:每月weekly:每周daily:每天hourly:每小时user:指定用户身份
示例
- 示例1:系统重启时执行
/data/bootservice.sh脚本
ansible zxserver -m cron -a 'name="jobForReboot" special_time=reboot job="/data/bootservice.sh"'
- 示例2:每周六的1:20分执行
yum -y update操作
ansible zxserver -m cron -a 'name="yumUpdate" weekday="6" minute="20" hourly="1" user="root" job="yum -y update"'
synchronize模块
主要作用
同步目录、文件,基于rsync
使用详解
- compress:开启压缩
- archive:是否采用归档模式同步,保证源和目标文件属性一致
- checksum:是否校验
- dirs:以非递归的方式传输目录
- links:同步链接文件
- recursive:是否递归yes/no
- rsync_opts:使用rsync的参数
- delete:删除源中没有而目标存在的文件
- src:源目录及文件
- dest:目标目录及文件
- set_remote_user:设置远程用户名
- dest_port:目标接受的端口
- mode:同步的模式。默认为push,还有pull选项
- --exclude=.log:忽略同步.log结尾的文件
示例
foo
shell模块
主要作用
远程客户端执行各种shell命令或者运行脚本。其用法和command模块一样,不过shell模块执行命令的时候使用的是/bin/sh,所以shell模块可以执行任何命令
示例
ansible zxserver -m shell -a "touch /tmp/testansible.txt;ls -l /tmp/testansible.txt"
service模块
主要作用
用于远程客户端各种服务管理,包括启动、停止、重启、重新加载
使用详解
enable:是否开机自启yes/noname:必选项,服务名称parttern:定义一个模式。如果status没有响应,则通过ps在进程中查找,匹配到就认为该服务依然在运行。state:对服务执行启动、停止、重启、重加载等操作(started、stopped、restarted、reloaded)sleep:如果指定了重启,则在stop和start之间沉睡几秒钟。
示例
ansible zxserver -m service -a "name=httpd state=started enable=yes"
get_url模块
主要作用
从web下载文件,类似wget
示例
- 示例1:下载文件到远程主机的
/tmp目录下。
ansible zxserver -m get_url -a "url=http://192.168.10.101/download/test.txt dest=/tmp"
[ansible]常用内置模块的更多相关文章
- Python第五章__模块介绍,常用内置模块
Python第五章__模块介绍,常用内置模块 欢迎加入Linux_Python学习群 群号:478616847 目录: 模块与导入介绍 包的介绍 time &datetime模块 rando ...
- ansible常用命令
一.ansible常用命令 一.ansible命令的常用参数 ansible 默认提供了很多模块来供我们使用.在 Linux 中,我们可以通过 ansible-doc -l 命令查看到当前 ansib ...
- ansible常用模块用法
ansible常用模块用法 2015-07-21 10:25 24458人阅读 评论(1) 收藏 举报 分类: Linux(44) ansible 版权声明:本文为博主原创文章,未经博主允许不得 ...
- Ansible常用模块介绍及使用(week5_day1_part2)--技术流ken
Ansible模块 在上一篇博客<Ansible基础认识及安装使用详解(一)--技术流ken>中以及简单的介绍了一下ansible的模块.ansible是基于模块工作的,所以我们必须掌握几 ...
- Python常用内置模块之xml模块
xml即可扩展标记语言,它可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言.从结构上,很像HTML超文本标记语言.但他们被设计的目的是不同的,超文本标记语言被设计用来显示 ...
- Ansible常用模块命令
Ansible常用模块命令 一.安装ansible yum install epel-release yum install ansible 二.配置文件配置 vi /etc/ansible/ansi ...
- Ansible常用功能
Ansible 是近几年十分流行的DevOps工具架构什么的我就不在这里赘述了,网上一找一堆 这里写点我在ansible常用功能 1.命令串 #copy文件 #ansible host文件中的主机组 ...
- 简学Python第五章__模块介绍,常用内置模块
Python第五章__模块介绍,常用内置模块 欢迎加入Linux_Python学习群 群号:478616847 目录: 模块与导入介绍 包的介绍 time &datetime模块 rando ...
- Python17个常用内置模块总结
Python17个常用内置模块总结 1.getpass 2.os 3.sys 4.subprocess 5.hashlib 6.json 7.pickle 8.shutil 9.time 10.dat ...
- 常用内置模块(一)——time、os、sys、random、shutil、pickle、json
常用内置模块 一.time模块 在python中,时间分为3种 1.时间戳: timestamp,从1970年1月1日到现在的秒数, 主要用于计算两个时间的差 2.localtime ...
随机推荐
- 音视频八股文(5)--SDL音视频渲染实战。会使用就行,不需要深究。
01-SDL子系统 SDL将功能分成下列数个子系统(subsystem): SDL_INIT_TIMER:定时器 SDL_INIT_AUDIO:音频 SDL_INIT_VIDEO:视频 SDL_INI ...
- 2022-08-24:给定一个长度为3N的数组,其中最多含有0、1、2三种值, 你可以把任何一个连续区间上的数组,全变成0、1、2中的一种, 目的是让0、1、2三种数字的个数都是N。 返回最小的变化次
2022-08-24:给定一个长度为3N的数组,其中最多含有0.1.2三种值, 你可以把任何一个连续区间上的数组,全变成0.1.2中的一种, 目的是让0.1.2三种数字的个数都是N. 返回最小的变化次 ...
- 2022-02-06:等差数列划分 II - 子序列。 给你一个整数数组 nums ,返回 nums 中所有 等差子序列 的数目。 如果一个序列中 至少有三个元素 ,并且任意两个相邻元素之差相同,则称
2022-02-06:等差数列划分 II - 子序列. 给你一个整数数组 nums ,返回 nums 中所有 等差子序列 的数目. 如果一个序列中 至少有三个元素 ,并且任意两个相邻元素之差相同,则称 ...
- 2021-05-28:跳跃游戏 II。给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可
2021-05-28:跳跃游戏 II.给定一个非负整数数组,你最初位于数组的第一个位置.数组中的每个元素代表你在该位置可以跳跃的最大长度.你的目标是使用最少的跳跃次数到达数组的最后一个位置.假设你总是 ...
- IBM小型机 - AIX系统配置IP
AIX系统网口配置IP 前言 新部署的系统都是要通过IP来访问的,但是AIX系统配置IP的方式和Linux的不一样: 为了配置后可以通过远程访问系统,我们要给网口配置上IP. 操作步骤 1.新部署的A ...
- Redis数据结构三之压缩列表
本文首发于公众号:Hunter后端 原文链接:Redis数据结构三之压缩列表 本篇笔记介绍压缩列表. 在 Redis 3.2 版本之前,压缩列表是列表对象.哈希对象.有序集合对象的的底层实现之一. 因 ...
- 【GiraKoo】常用编码的对比(ASCII,GB2312,GBK,GB18030,UCS,Unicode)
常用编码的对比(ASCII,GB2312,GBK,GB18030,UCS,Unicode) 在程序开发中,文字编码一直扮演着人畜无害,却背后捅一刀的角色. 可能在源代码文件中,注释莫名其妙地变成了乱码 ...
- Springcloud 开始来了解
为什么要学习springcloud? "微服务 "一词源于Martin Fowler 的名为 Microservices 的博文,简单地说, 微服务是系统架构上的一种设计风格, 它 ...
- react eject提示This git repository has untracked files or uncommitted changes:
在yarn eject 但时 老是提示This git repository has untracked files or uncommitted changes: Remove untracked ...
- 1、初认 AS400
一.AS400 简介 AS/400是一种主机型计算机,是IBM公司开发的.AS/400是IBM的应用服务器产品,针对企业级应用开发.重要应用系统支持进行设计开发.AS/400的系统工作环境中同时支持多 ...