ad-hoc的命令使用语法
ansible+主机名称±m(指定模块)+模块名称±a(模块动作)+“具体命令”
ansible-doc +模块名称 查找模块语法
yum模块 – 安装
-hosts:指定组
-name: install xxx
yum:
name: xxx
state: latest(安装最新)absent(删除)present(安装)
exclude: 排除
disablerepo: 安装时不使用哪个仓库
enablerepo:指定哪个仓库安装
yum_repository
-name: add XXXrepo
yum_repository
name:仓库名称
description:描述
baseurl:仓库地址 http:// https:// ftp:// file://
gpgcheck:不对下载的软件包进行检查
copy模块 – 配置
-name: configure xxx
copy:
src: 本机配置文件地址
dest: 控制端配置文件地址
owner: 属主
group:属组
mode: '权限'
content :要写入的内容
backup: 每次变更备份
service|systemd – 启动
-name : 服务名称
state : started stopped restarted reloaded
enabled: 是否开机启动 yes/no
cron – 定时任务
cron:
name:
weekday:
minute:
hour:
user: 用户
job:"/bin/bash /scripts/check_data.sh &>/dev/null" 执行定时任务
mount – 挂载
- name: Mount xxx Server
mount:
src: 172.16.1.31:/data/ansible 远端机挂载
path: /mnt 挂载到控制机的哪个目录
fstype: nfs 挂载系统类型
opts: defaults 选项
state: {present unmounted}永久
{ absent mounted}临时
file – 创建文件目录文件
file:
path: /在被控端哪个路径下创建目录或文件
state: /directory (创建目录) touch(创建文件)
owner: 属主
group:属组
mode:权限
recurse: yes 递归授权
user – 创建用户模块
name: 指定用户名称
uid: 指定用户的uid
group: 指定用户的组名称或组id
groups: 指定用户的附加组(附加组需存在)
append: yes 同上
create__home: 创建用户家目录默认yes
shell: /bin/bash 指定登陆用户的bash
system: 指定系统用户
group – 创建用户组模块
name: 组名称
state: present absent
gid: 组id
shell | command
命令模块 (command不支持管道符,建议使用shell模块)
firewalld | seLinux – 防火墙模块
-name: disiable selinux
selinux:
state:disabled
-name:firewalld
firewalld:
zone: 指定区域默认public
service: 指定服务名称
port: 指定端口
state: 启用或禁止
masquerade: 开机地址伪装默认yes
immediate: 临时生效默认yes
permanent: 永久生效
source: 来源IP