- hosts: # 主机|主机组 # 安装软件
tasks:
- name: Disable Selinux # 关闭selinux
selinux:
state: disabled
- name: Create YUM_Repository Epel
yum_repository:
name: epel
description: EPEL YUM repo
baseurl: http://mirrors.aliyun.com/epel/7/$basearch
gpgcheck: no
when: ( ansible_hostname is match ('web*') ) or
( ansible_hostname is match ('lb*') ) # 只有web和lb服务器安装
ignore_errors: yes # 错误跳过
- name: # yum安装
yum:
name: # 软件名
state: present
- name: # 复制 # 配置文件(不识别变量)
copy:
src: # 源文件
dest: # 目标文件
owner: # 属主
group: # 属组
mode: # 权限
- name: # 复制 # 配置文件(可识别变量)
template:
src: "{{ item.src }}" # 源文件
dest: "{{ item.dest }}" # 目标文件
owner: # 属主
group: # 属组
mode: "{{ item.mode }}" # 权限
loop:
- { src: php.ini , dest: /etc/php.ini , mode: '0644' } # 循环
- { src: php_www.conf , dest: /etc/php-fpm.d/www.conf , mode: '0644' }
notify: # 通知handlers触发条件 名称一致
- name: # 创建组 # 创建用户组
group:
name: # 组名
gid: # GID
- name: # 创建用户 # 创建用户
user:
name: # 用户名
uid: # UID
group: # GID
- name: # 创建目录|文件 # 创建目录
file:
path: # 创建 目录|文件 路径
state: directory
owner: # 属主
group: # 属组
mode: # 权限
- name: # 启动 # 启动服务
systemd:
name: # 服务名称
state: # 执行的命令 started restarted stoped
- name: # 解压拷贝
unarchive:
src: # 源压缩包
dest: # 解压地址
copy: yes
owner: # 属主
group: # 属组
creates: "{{ 目录变量 }}/index.php" # 如果存在则不之行
- name: Sh Backup
cron: # 定时任务
minute: '*' # 分钟
hour: '*' # 小时
day: '1' # 天
month: '*' # 月
weekday: '*' # 周
- name: mount
mount:
path: /mnt # 源目录
src: 10.0.0.31:/data # 挂载目录
fstype: nfs # 格式
opts: defaults
state: mounted
handlers: # 重启服务
- name: # 触发器 和通知的名称一致
systemd:
name: # 服务名称
state: # 执行的命令 started restarted stoped
Linux从入门到放弃 Ansible-Playbook模块
最新推荐文章于 2023-06-24 22:29:27 发布