Ansible:如何將文件、目錄或腳本從本地主機複製到遠程主機?

已發表: 2019-02-24

如何使用 Ansible 將文件從本地主機複製到遠程主機

作為 IT​​ 管理部門的一部分,人們處理lots of scripts和命令行工具。 我敢肯定,您每天都會遇到將文件或腳本複製到數千台遠程主機的情況。

IT 部門的人不只是登錄到每一個thousands of hosts並手動運行腳本。 這就是 Ansible 出現的原因。 Ansible 是一款非常強大的 IT 管理解決方案,可供我們免費使用。

在本教程中,我們將介紹使用 Ansible 將文件複製到遠程主機的步驟。

我們要做什麼?

將文件crunchify.txt文件從位置/opt/ashah/到遠程主機192.66.129.83的目標目錄/opt/ashah/

第1步

在 Linux Ubuntu 或 macOS 上安裝 Ansible。 按照教程了解詳細步驟。

第2步

讓我們了解本教程的一些基礎知識和文件位置:

  • 配置文件位置:/etc/ansible/ansible.cfg
  • 腳本文件:/opt/ashah/crunchify.yml
  • 主機文件:/opt/ashah/hosts
  • 要復制的文件:/opt/ashah/crunchify.txt(測試文件)

第三步

crunchify.yml文件內容。

第四步

hosts文件內容。 確保將 IP 地址更改為遠程主機。

第 5 步

使用以下內容創建文件crunchify.txt

第 6 步

運行以下命令將文件複製到遠程主機:

  • Command :ansible-playbook -b -vvv -u root crunchify.yml -kkkk –extra-vars “crunchify-group” -i hosts

讓我們了解所有參數:

  • -b :使用 become 運行操作(與 —become 相同)。
  • -vvv :詳細模式(-vvv 更多,-vvvv 啟用連接調試)。
  • -u :以該用戶身份連接(默認=無)。
  • -kkkk : 詢問連接密碼。
  • –extra-vars :如果文件名以 @ 開頭,則將其他變量設置為 key=value 或 YAML/JSON。
  • -i :指定清單主機路徑或逗號分隔的主機列表。

而已。 您已成功複製文件。

如何驗證文件是否已復製到新的遠程主機?

只需登錄到遠程主機並檢查位置/opt/ashah ,您將看到文件crunchify.txt

如何將目錄內容複製到另一個目錄?

只需更改crunchify.yml文件的srcdesc值。 這是一個更新的 crunchify.yml 文件。

/opt/ashah/文件夾下的所有文件現在將被複製到遠程主機。

如果您對使用 Ansible 將文件處理到遠程位置有任何疑問,請告訴我。