174 lines
6.3 KiB
YAML
174 lines
6.3 KiB
YAML
- name: demo
|
|
# hosts: master,node # 指定多个主机组
|
|
hosts: all
|
|
tasks:
|
|
#############################################################################################
|
|
# 拷贝文件
|
|
#############################################################################################
|
|
- copy:
|
|
src: ./demo.tar
|
|
dest: /root/demo.tar
|
|
# 强制拷贝
|
|
force: yes
|
|
|
|
#############################################################################################
|
|
# 执行命令
|
|
#############################################################################################
|
|
# 执行命令 getenforce 并将结果保存到 out 变量
|
|
- shell: getenforce
|
|
register: out
|
|
# 引用 out 变量, 输出结果
|
|
- debug: msg="{{out}}"
|
|
# 当 out.stdout 不等于 Disabled 时执行命令
|
|
- shell: mkdir dingh
|
|
when: out.stdout != "Disabled"
|
|
|
|
#############################################################################################
|
|
# 安装软件
|
|
#############################################################################################
|
|
- yum:
|
|
name: wget
|
|
# 状态[默认 present], present 安装, absent 卸载, latest 更新
|
|
state: present
|
|
|
|
#############################################################################################
|
|
# 替换文件内容
|
|
#############################################################################################
|
|
- replace:
|
|
# 文件路径
|
|
path: /etc/selinux/config
|
|
# 正则表达式
|
|
regexp: "SELINUX=enforcing"
|
|
# 替换内容
|
|
replace: "SELINUX=disabled"
|
|
|
|
#############################################################################################
|
|
# 管理服务
|
|
#############################################################################################
|
|
- service:
|
|
# 服务名称
|
|
name: docker
|
|
# 状态[默认 started], started 启动, stopped 停止, restarted 重启, reloaded 重新加载
|
|
state: restarted
|
|
enabled: yes
|
|
|
|
#############################################################################################
|
|
# 创建用户
|
|
#############################################################################################
|
|
- user:
|
|
# 用户名
|
|
name: demo
|
|
# 状态[默认 present], present 创建, absent 删除
|
|
state: present
|
|
|
|
#############################################################################################
|
|
# 创建组
|
|
#############################################################################################
|
|
- group:
|
|
# 组名
|
|
name: demo
|
|
# 状态[默认 present], present 创建, absent 删除
|
|
state: present
|
|
|
|
#############################################################################################
|
|
# 创建目录
|
|
#############################################################################################
|
|
- file:
|
|
# 目录路径
|
|
path: /root/demo
|
|
# directory 目录
|
|
state: directory
|
|
# 权限
|
|
mode: 0755
|
|
# 所属用户
|
|
owner: demo
|
|
# 所属组
|
|
group: demo
|
|
|
|
#############################################################################################
|
|
# 创建软连接
|
|
#############################################################################################
|
|
- file:
|
|
# 文件路径
|
|
path: /etc/localtime
|
|
# link 链接
|
|
state: link
|
|
src: /usr/share/zoneinfo/Asia/Shanghai
|
|
|
|
#############################################################################################
|
|
# 删除软连接
|
|
#############################################################################################
|
|
- file:
|
|
path: /root/demo
|
|
state: absent # 删除软连接
|
|
force: yes
|
|
|
|
#############################################################################################
|
|
# 创建文件
|
|
#############################################################################################
|
|
- file:
|
|
# 文件路径
|
|
path: /root/demo
|
|
# touch 创建文件
|
|
state: touch
|
|
|
|
#############################################################################################
|
|
# 引用模板
|
|
#############################################################################################
|
|
- template:
|
|
# 模板文件
|
|
src: ./demo.j2
|
|
# 目标文件
|
|
dest: /root/demo
|
|
# 权限
|
|
mode: 0755
|
|
# 所属用户
|
|
owner: demo
|
|
# 所属组
|
|
group: demo
|
|
# 变量
|
|
vars:
|
|
name: World
|
|
|
|
#############################################################################################
|
|
# 配置环境变量
|
|
#############################################################################################
|
|
- lineinfile:
|
|
# 文件路径
|
|
path: /etc/profile
|
|
# 正则表达式
|
|
regexp: "export PATH"
|
|
# 插入内容
|
|
line: "export PATH=$PATH:/usr/local/bin"
|
|
|
|
#############################################################################################
|
|
# 配置 crontab 定时任务
|
|
#############################################################################################
|
|
- cron:
|
|
# 任务名称
|
|
name: "demo"
|
|
# 任务内容
|
|
job: "echo 'hello' > /root/demo.log"
|
|
# 任务状态[默认 present], present 创建, absent 删除
|
|
state: present
|
|
|
|
#############################################################################################
|
|
# 忽略错误
|
|
#############################################################################################
|
|
- command: echo "hello"
|
|
# 忽略错误
|
|
ignore_errors: yes
|
|
|
|
#############################################################################################
|
|
# 调试信息
|
|
#############################################################################################
|
|
- debug: msg="hello world"
|
|
|
|
#############################################################################################
|
|
# 循环
|
|
#############################################################################################
|
|
- debug: msg="{{ item }}"
|
|
with_items:
|
|
- 1
|
|
- 2
|
|
- 3 |