1.ansible对文件的操作

ansible对文件的操作大概有三个模块:

1)copy模块 将master中的文件copy到node节点上  https://docs.ansible.com/ansible/latest/collections/ansible/builtin/copy_module.html#ansible-collections-ansible-builtin-copy-module

2)fetch模块 将node节点的模块复制到master上 https://docs.ansible.com/ansible/latest/collections/ansible/builtin/fetch_module.html#ansible-collections-ansible-builtin-fetch-module

3)file模块 用来对节点的文件进行创建和删除、修改权限等,还可以添加文件内容  https://docs.ansible.com/ansible/latest/collections/ansible/builtin/file_module.html

4)对于windows,fetch模块是可以用的,copy模块和file模块要分别用win_copy和win_file:

win_copy: https://docs.ansible.com/ansible/latest/collections/ansible/windows/win_copy_module.html#ansible-collections-ansible-windows-win-copy-module

win_file:https://docs.ansible.com/ansible/latest/collections/ansible/windows/win_file_module.html#ansible-collections-ansible-windows-win-file-module  

 

 

本文主要介绍fetch模块

其实也比较简单,主要是两个参数,一个是src,node节点文件的目录,一个是dest,想放的master节点的目录。需要注意的就是windows目录的路径使用反斜线\容易识别成转义符,建议用斜线/代替。

运行例子:

2.playbook的使用

playbook就是ansible的脚本,因为ansible有的命令很复杂,全使用命令行的话比较麻烦,而且官方给的例子都是playbook的代码。

简单来说只有两步

1)创建playbook  创建在ansible文件夹里面,后缀是yaml或者yml就可以了,ansible可以自动识别出来

2)运行playbook  

---
- name: Update web servers
  hosts: webservers
  remote_user: root

 

yaml语法也是值得学习一下的,我之前一直以为官网给的比如name之前的- 是为了让我们对齐,起辅助作用,自己写的时候就都给删了,所以每次都报错,后来才知道是必须有的。。

yaml语法学习地址:https://docs.ansible.com/ansible/latest/reference_appendices/YAMLSyntax.html#yaml-syntax

3.控制windows时间序列

其实也没什么难的,看官方文档就可以了

使用模块:win_scheduled_task

官方文档地址:https://docs.ansible.com/ansible/2.9/modules/win_scheduled_task_module.html#win-scheduled-task-module

使用示例:

 

 

Task下面的name是playbook的任务名称

win_scheduled_task 下面的name 是计划任务名称

path要直接写到文件,命令行参数选项就在arguments直接写-

触发器的类型列表: