ansible 操作文件、控制計划任務以及playbook的使用


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直接寫-

觸發器的類型列表:

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM