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直接寫-
觸發器的類型列表: