- 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