ansible的常用模块及参数


ansinle的常用模块及参数作用
command&shell模块

shell模块比command强大shell模块可以执行shell的内置命令和特性如管道等
不指定模块的话默认为command模块

ansible all -i hosts -m shell -a "cat /etc/passwd | grep games"
10.11.65.193 | CHANGED | rc=0 >>
games:x:12:100:games:/usr/games:/sbin/nologin

ansible all -i hosts -a "cat /etc/passwd | grep games"
10.11.65.193 | FAILED | rc=1 >>
...
...
|: 没有那个文件或目录
cat: grep: 没有那个文件或目录
cat: games: 没有那个文件或目录non-zero return code

可以看出用shell模块可以识别管道符号 而默认的command模块则无法识别

script模块

这个模块就比较简单了就死在远程主机执行本地的脚本没什么可说的

ansible all -i hosts -m script -a "a.sh"

copy模块

这个模块类似于scp远程拷贝功能将管理节点上的文件或目录拷贝到被管理节点上
src:拷贝的元地址
dest:拷贝的目标地址
backup:拷贝时如果目标地址有文件名相同的则先将其备份再拷贝
owner:文件的所有者
group:文件的组
mode:文件的权限

ansible all -i hosts -m copy -a "src=./nginx.repo dest=/etc/yum.repos.d/nginx.repo backup=yes owner=u1 group=g1 mode=0644"

yum模块

一看就知道是安装软件的
name:安装软件的名字
state:可以加不同的参数
present和installed确保安装了所需的软件包(没有就安装)
latest 如果软件不是最新版就更新
absent并removed卸载软件

ansible webservers -i hosts -m yum -a "name=nginx state=present"

systemd 模块

管理远程节点上的 systemd 服务相当于systemctl
daemon_reload :重新载入 systemd,扫描新的或有变动的单元
enabled :是否开机自启动 yes|no
name:服务名
state:接各种参数(started,stopped,restarted,reloaded)

ansible webservers -i hosts -m systemd -a "daemon_reload=yes"

group 模块

对被管理节点上的组进行管理
name:组名
system:是否为系统组, yes/no , 默认是 no
state:删除或创建,present/absent ,默认是present

ansible dbservers -i hosts -m group -a "name=db_admin"

use模块

管理被控制节点上的用户
name:用户名
pssword:默认不设置密码,如需设置密码只接受加密密码如pass=$(echo “123456” | openssl passwd -1 -stdin)
update_password:假如设置的密码不同于原密码,则会更新密码
home:指定用户的家目录
shell:设置用户的 shell
comment:用户的描述信息
create_home:在创建用户时,是否创建其家目录。默认创建,假如不创建,设置为 no
group:设置用户的主组
groups:将用户加入到多个其他组中,多个用逗号隔开(默认会把用户从其他已经加入的组中删除。)
append:yes|no 和 groups 配合使用,yes 时不会把用户从其他已经加入的组中删除
system:设置为 yes 时,将会创建一个系统账号
expires:设置用户的过期时间,值为时间戳,会转为为天数后,放在 shadow 的第 8 个字段里
state:present/absent创建或删除
remove:当与 state=absent 一起使用,删除一个用户及关联的目录

创建用 tom, 并且设置其有效期到 2020年4月15日, 加入到组 db_admin 中, 不改变用户原有假如的组

ansible dbservers -i hosts -m user -a "name=tom expires=$(date +%s -d 20200415) gorups=db_admin append=yes"

计算两个日期相差天数, 比如计算生日距离现在还有多少天

d1=$(date +%s -d 20180728)
d2=$(date +%s -d 20180726)
echo $(((d1-d2)/86400))

file模块

file 模块主要用于远程主机上的文件操作
owner 定义文件/目录的属主
group 定义文件/目录的属组
mode 定义文件/目录的权限
path 必选项,定义文件/目录的路径
recurse 递归的设置文件的属性,只对目录有效
src 链接(软/硬)文件的源文件路径,只应用于state=link的情况
dest 链接文件的路径,只应用于state=link的情况
state :
directory 如果目录不存在,创建目录
file 文件不存在,则不会被创建,存在则返回文件的信息 (常用于检查文件是否存在)
link 创建软链接
hard 创建硬链接
touch 如果文件不存在,则会创建一个新的文件,如果文件或目录(已存在,则更新其最后修改时间)
absent 删除目录、文件或者取消链接文件

cron 模块

管理被管理节点上的计划任务
name:计划任务的名字
minute:指定分钟,可以设置成(0-59, *, */2 等)格式。 默认是 * , 也就是每分钟。(hour、day、month类似)
weekday:指定星期, 可以设置成(0-6 for Sunday-Saturday, * 等)格式。默认是 *,也就是每星期。
job:指定要执行的内容,通常可以写个脚本,或者一段内容
state:指定这个job的状态,可以是新增(present)或者是删除(absent)。 默认为新增(present)
新建一个 CRON JOB 任务

# ansible all -i hosts -m cron -a "name='create new job' minute='0' job='ls -alh > /dev/null'"

debug模块

debug 模块主要用于调试时使用,通常的作用是将一个变量的值给打印出来。
var:直接打印一个指定的变量值
msg:打印一段可以格式化的字符串

ansible all -i hosts -m debug -a "var=role" -e "role=web"
ansible all -i hosts -m debug -a "msg='role is {{role}} '" -e "role=web"

template 模块

template 模块使用了Jinjia2格式作为文件模版,可以进行文档内变量的替换。文件以 .j2 结尾。
可以将文件内的内容变成变量,这样就可以自动改变文件里的一些内容。其过程类似于copy,但在拷贝到被管理节点时变量都会被转化为准确内容。

lineinfile 模块

在被管理节点上,用正则匹配的方式对目标文件的一行内容修改删除等操作
path 被管理节点的目标文件路径, 必须。
state 可选值absent 删除 |present 替换(默认值)。
regexp 在文件的每一行中查找的正则表达式
line 要在文件中插入/替换的行。需要state=present
create 文件不存在时,是否要创建文件并添加内容。yes/no
替换某一行

ansible dbservers -i hosts -m lineinfile -a "path=/etc/selinux/config regexp='^SELINUX=' line='SELINUX=disabled' state=present"

blockinfile 模块

对目标文件进行多行的添加/更新/删除操作。

原创:https://www.panoramacn.com
源码网提供WordPress源码,帝国CMS源码discuz源码,微信小程序,小说源码,杰奇源码,thinkphp源码,ecshop模板源码,微擎模板源码,dede源码,织梦源码等。

专业搭建小说网站,小说程序,杰奇系列,微信小说系列,app系列小说

ansible的常用模块及参数

免责声明,若由于商用引起版权纠纷,一切责任均由使用者承担。

您必须遵守我们的协议,如果您下载了该资源行为将被视为对《免责声明》全部内容的认可-> 联系客服 投诉资源
www.panoramacn.com资源全部来自互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。 敬请谅解! 侵权删帖/违法举报/投稿等事物联系邮箱:2640602276@qq.com
未经允许不得转载:书荒源码源码网每日更新网站源码模板! » ansible的常用模块及参数
关注我们小说电影免费看
关注我们,获取更多的全网素材资源,有趣有料!
120000+人已关注
分享到:
赞(0) 打赏

评论抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

您的打赏就是我分享的动力!

支付宝扫一扫打赏

微信扫一扫打赏