zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    CentOS7- 配置阿里镜像源
    MySQL学习笔记
    OSI&TCP/IP模型
    加密算法学习
    golang学习笔记
    Redis学习总结整理
    TCP
    HTTP/HTTPS
    HTTP2
    MVCC
  • 原文地址:https://www.cnblogs.com/1016391912pm/p/13069813.html
Copyright © 2011-2022 走看看