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
使用示例:
Task下面的name是playbook的任务名称
win_scheduled_task 下面的name 是计划任务名称
path要直接写到文件,命令行参数选项就在arguments直接写-
触发器的类型列表: