Ansible - 即席命令



即席命令是可以單獨執行以執行快速功能的命令。這些命令無需以後執行。

例如,您必須重新啟動所有公司伺服器。為此,您將從“/usr/bin/ansible”執行即席命令。

這些即席命令不用於配置管理和部署,因為這些命令是單次使用。

ansible-playbook 用於配置管理和部署。

並行和 shell 命令

同時以 12 個並行 fork 重啟您的公司伺服器。為此,我們需要設定 SSHagent 以進行連線。

$ ssh-agent bash 
$ ssh-add ~/.ssh/id_rsa 

若要以 12 個並行 fork 為一組“abc”中所有公司伺服器執行重新啟動,則執行以下操作 -

$ Ansible abc -a "/sbin/reboot" -f 12

預設情況下,Ansible 會從當前使用者帳戶執行上述即席命令形式。如果您想更改此行為,您必須在即席命令中以以下方式傳遞使用者名稱 -

$ Ansible abc -a "/sbin/reboot" -f 12 -u username

檔案傳輸

您可以在多臺機器上並行執行SCP(安全複製協議)大量檔案,為此可以使用即席命令。

將檔案傳輸到多個伺服器/機器

$ Ansible abc -m copy -a "src = /etc/yum.conf dest = /tmp/yum.conf"

建立新目錄

$ Ansible abc -m file -a "dest = /path/user1/new mode = 777 owner = user1 group = user1 state = directory" 

刪除整個目錄和檔案

$ Ansible abc -m file -a "dest = /path/user1/new state = absent"

管理軟體包

即席命令適用於 yum 和 apt。以下是一些使用 yum 的即席命令。

以下命令檢查 yum 包是否已安裝,但不更新它。

$ Ansible abc -m yum -a "name = demo-tomcat-1 state = present"

以下命令檢查包是否未安裝。

$ Ansible abc -m yum -a "name = demo-tomcat-1 state = absent" 

以下命令檢查已安裝的包的最新版本。

$ Ansible abc -m yum -a "name = demo-tomcat-1 state = latest" 

收集事實

事實可用於在劇本中實現條件語句。您可以透過以下即席命令找到您所有事實的即席資訊 -

$ Ansible all -m setup 
廣告
© . All rights reserved.