linux---集群架构初探(10)Ansible常用模块

Ansible命令参数

-f 并发进程数,默认5个

-m 模块名,默认为command,如 ansible pm -a "pwd"

-a 模块参数

-i 指定主机列表配置文件,默认为/etc/ansible/hosts

-h 查看帮助

-v 以详细信息模式运行命令,可以用来调试错误

-u 指定连接的用户名(需在其~/.ssh/下已配置好公钥)

Ansible的模块

命令模块:command、shell

文件模块:copy、fetch、file

安装模块:yum

服务模块:systemd

挂载模块:mount

定时任务:cron

用户模块:user、group

压缩解压:unarchive

①.查找模块  ansible-doc -l

②.查找指定模块的具体参数  ansible-doc -s command

command模块

chdir 在执行命令前先将路径改变到指定目录,相当于cd

creates 若指定目录存在就不执行命令,相当于[ -e /etc ] || pwd

removes 若指定目录存在就执行命令,相当于[ -e /etc ] && pwd

注:[ -e /etc ] 是判断/etc是否存在,存在返回true。

warn=False 忽略提示或警告。

shell模块

shell也是在远端节点执行命令,和command不同的是,command是默认模块可省略,但不支持变量、重定向、管道、分号、&等,而shell支持。如两条命令中间可用分号隔开。

shell模块的参数和command基本一致。

copy模块

src 本地要拷贝文件的路径(目录或文件都行)

dest 远端的路径(也可以为文件)

owner 定义文件的属主

group 定义文件的属组

mode 定义文件的权限信息,例:mode=644  或  mode=ugo+x

backup 若覆盖原有文件是否备份,默认为no不备份

force 默认yes,当文件内容不相同时会覆盖目标文件,若设置为no则不覆盖

注:当指定从文件a复制到文件b,若两文件内容不同,force=yes,文件b内容会被覆盖,但文件名不变

script模块

让远端节点执行本地脚本

file模块

创建、删除文件,对文件设置权限,比较鸡肋的模块,完全可以用shell代替

dest/path/name  远端路径

group 设置属组  owner 设置属主  mode 设置权限

src 指定本部路径进行复制

state=directory创建目录   touch创建普通文件   hard/link创建链接文件   absent删除文件   file查看指定文件是否存在

fetch模块

从远端抓取文件到本地

yum模块

name 软件包名

state=present/installed安装  absent/removed删除  latest安装最新的软件

[root@m01 ~]# ansible pm -m yum -a "name=rpcbind state=installed"

systemd模块

name 服务名

enabled 是否开机自启动,默认为no

state 设置状态,只能是以下四个值:started、stopped、reloaded、restarted

mount模块

fstype 指定挂载的文件系统类型

opts 指定挂载的参数信息

src/path 路径,将src挂载到path

state=absent 卸载挂载点,同时修改fstab信息

state=unmounted 卸载,不会修改fstab信息

state=present 不会挂载,只修改fstab信息

state=mounted 挂载,并修改fstab信息

cron模块

minute/hour/day/month/weekday   定时任务中的5个时间

name 定时任务名称  job 定时任务执行的命令

state=absent 删除指定的定时任务

disabled=yes 将指定定时任务进行注释,设置为no时是取消注释

user模块

password          请输入密码信息
name           指定用户名信息
uid               指定用户uid信息
group           指定用户主要属于哪个组
groups            指定用户属于哪个附加组信息
shell         /bin/bash或/sbin/nologin     指定是否能够登录
create_home     yes/no     是否创建家目录信息
home           指定家目录创建在什么路径 默认/home

state=absent   删除指定用户,但不会删除其家目录,若要删除家目录要加上remove=yes

 

posted @ 2020-06-10 06:06  盗哥泡茶去了  阅读(154)  评论(0编辑  收藏  举报