常用的 Ansible Module 有哪些?
Last updated
Was this helpful?
Last updated
Was this helpful?
在上一章「」學會怎麼看文件以後,接著凍仁將介紹自己較常用的 8 個模組 (Modules)。
(以下依英文字母排列)
系統需求:需先安裝 python-apt (python 2) 或 python3-apt (python 3) 的 apt 套件。
更新套件索引 (快取),等同於 apt-get update
指令。
安裝 vim 套件。
移除 nano 套件。
重新開機。
當某個檔案不存在時才執行該指令。
先切換目錄再執行指令。
複製 ssh public key 到遠端 (chmod 644 /target/file
)。
複製 ssh public key 到遠端 (chmod u=rw,g=r,o=r /target/file
)。
複製 nginx vhost 設定檔到遠端,並備份原有的檔案。
建立檔案 (touch
),並設定檔案權限為 644。
建立目錄 (mkdir
),並設定檔案擁有者為 docker。
建立軟連結 (ln
)。
移除 docker 使用者的 sudo 權限。
在 /etc/hosts
檔案裡用 127.0.0.1 localhost
取代開頭為 127.0.0.1
的一行。
啟用 nginx。
停止 nginx。
重開網路服務。
藉由 ls
和 wc
檢查檔案數量。
把所有的 Python 行程給砍掉。
檢查檔案是否存在,若不存在則建立它。
取得某檔案的 md5sum。
以上為凍仁較常用的 8 個 Modules,大家可以先從以上的 Modules 入門 Ansible 喔!
參賽第 12 天的凍仁,一早騎車上班時出了點小小的車禍,也很幸運的沒什麼大礙。各位鐵人們在參賽的同時也要多加留意自身安全喔!
module 是給 Debian, Ubuntu 等作業系統 (OS) 使用的套件模組 (Packaging Modules),我們可以透過它管理 apt 套件。其類似的 Linux 指令有 apt
, apt-get
, aptitude
和 dpkg
。
module 是個可以在遠端上執行指令的指令模組 (Commands Modules),剛入門 Ansible 會用 module 不多?只要 Linux Shell 會通的指令都可以透過它使用。但它不支援變數 (variables) 和 <
, >
, |
, ;
和 &
等運算,若有這類需求請改用 module。
module 是從本地複製檔案到遠端的檔案模組 (Files Modules),若有使用變數需求者,可改用 module,這部份凍仁會在第 14 章提到。其類似的 Linux 指令為 scp
。
module 是在遠端建立和刪除檔案 (file)、目錄 (directory)、軟連結 (symlinks) 的檔案模組 (Files Modules)。其類似的 Linux 指令為 chown
, chown
, ln
, mkdir
和 touch
。
module 是個可用正規表示式對檔案進行插入或取代文字的檔案模組 (Files Modules)。其類似的 Linux 指令為 sed
。
module 是個用來管理遠端系統服務的系統模組 (System Modules)。其類似的 Linux 指令為 service
。
module 是可以在遠端用 /bin/sh
執行指令的指令模組 (Commands Modules),支援變數 (variables) 和 <
, >
, |
, ;
和 &
等運算。
module 是用來檢查檔案狀態的檔案模組 (Files Modules)。其類似的 Linux 指令為 stat
。