service模块
简介
service
模块用于控制远程主机的服务,说白了,就是Linux下的service命令。支持的init系统包括BSD init,OpenRC,SysV,Solaris SMF,systemd,upstart。
模块参数
名称 | 必选 | 默认值 | 可选值 | 备注 |
---|---|---|---|---|
arguments | no | 如果打开这个标记,backrefs会改变模块的一些操作:insertbefore和insertafter参数会被忽略。当regexp不匹配文件中的任何行时,文件不会做任何修改,否则 使用扩展的line参数 替换 最后一个匹配正则表达式的行 | ||
enabled | no | yes /no |
服务是否开机自动启动。enabled 和state 至少要有一个被定义 |
|
name | yes | 服务名称 | ||
pattern | no | 如果服务没有响应,则ps查看是否具有指定参数的进程,有则认为服务已经启动 | ||
sleep | no | EOF |
EOF /*regex* |
如果服务被重新启动,则睡眠多少秒再执行停止和启动命令 |
state | no | started ,stopped ,restarted ,reloaded |
service最终操作后的状态 |
示例
启动/停止/重启/重载服务
1 | [root@centos7 ~]# ansible test -m service -a "name=httpd state=started" |
设置服务开机自启动
1 | [root@centos7 ~]# ansible test -m service -a "name=httpd enabled=yes" |
systemd模块
简介
systemd
模块用于控制远程主机的systemd服务,说白了,就是Linux下的systemd命令。需要远程主机支持systemd
。
用法和service
模块基本相同。
模块参数
名称 | 必选 | 默认值 | 可选值 | 备注 |
---|---|---|---|---|
daemon_reload | no | yes /no |
在执行任何其他操作之前运行守护进程重新加载,以确保systemd已经读取其他更改 | |
enabled | no | yes /no |
服务是否开机自动启动。enabled 和state 至少要有一个被定义 |
|
masked | no | yes /no |
是否将服务设置为masked状态,被mask的服务是无法启动的 | |
name | yes | 服务名称 | ||
no_block | no | yes /no |
不要同步等待操作请求完成 | |
state | no | started ,stopped ,restarted ,reloaded |
service最终操作后的状态 | |
user | no | yes /no |
使用服务的调用者运行systemctl,而不是系统的服务管理者 |
示例
启动/停止/重启/重载服务
1 | [root@centos7 ~]# ansible test -m systemd -a "name=httpd state=started" |
设置服务masked状态
1 | # 先将服务停止 |
ping模块
简介
用于确认和对象机器之间是否能够ping通,正常情况会返回pong
。它在剧本中没有任何意义,但从/usr/bin/ansible
可以验证主机是否可以登录。
参数
名称 | 必选 | 默认值 | 可选值 | 备注 |
---|---|---|---|---|
data | no | pong | 数据返回的ping返回值。如果此参数设置为crash ,模块将导致异常。 |
实例
1 | # 默认返回是pong |
selinux模块
简介
selinux
模块用于配置SELinux
状态,需要客户端安装libselinux-python
。
参数
名称 | 必选 | 默认值 | 可选值 | 备注 |
---|---|---|---|---|
conf | no | /etc/selinux/config | SELinux配置文件的路径 | |
policy | no | SELinux所使用的的策略,如targeted 。若state不是disabled ,该配置是必需的 |
||
state | yes | enforcing ,permissive ,disabled |
SELinux的最终状态 |
实例
1 | [root@centos7 sensu]# ansible test -m selinux -a "state=enforcing policy=targeted" |