成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

運維效率倍增!Ansible Copy 模塊必知必會操作

開發(fā) 網絡優(yōu)化
Ansible提供了強大的copy模塊,幫助我們快速完成文件的分發(fā)任務。本文將結合實際案例,詳細講解copy模塊的用法,助你在生產中得心應手。

在自動化運維中,文件分發(fā)是一個高頻需求場景,例如上傳配置文件、分發(fā)腳本等。Ansible提供了強大的copy模塊,幫助我們快速完成文件的分發(fā)任務。本文將結合實際案例,詳細講解copy模塊的用法,助你在生產中得心應手。

Copy模塊簡介

copy 模塊用于從Ansible控制節(jié)點向目標主機上傳文件或目錄。支持文件權限設置、內容替換等功能,是實現文件管理的利器。

ansible <pattern> -m copy \
-a "src=<source_path> dest=<destination_path> [other options]"

模塊參數:

  • <pattern>:指定要操作的主機或主機組,例如 all、webservers。
  • -m copy:指定使用copy模塊。
  • src:源文件路徑,必須是控制節(jié)點上的文件。
  • dest:目標路徑,指定文件在目標主機上的存放位置。
  • owner:文件所有者。
  • group:文件所屬組。
  • mode:文件權限。
  • content:直接指定文件內容。

基礎用法示例

上傳文件到遠程主機

在控制節(jié)點的 /etc/ansible/playbooks/ 目錄下,有一個 config.txt 文件需要分發(fā)到所有目標主機的 /etc/app/ 目錄。

Playbook語法示例:

- name:使用copy模塊上傳文件
hosts:test
tasks:
    -name:上傳配置文件到目標主機
      ansible.builtin.copy:
        src:/etc/ansible/playbooks/config.txt
        dest:/home/config.txt
        owner:root
        group:root
        mode:'0644'

命令運行:

ansible-playbook -i hosts copy_example.yml

ad-hoc語法示例:

ansible test -m copy \
-a "src=/etc/ansible/playbooks/config.txt dest=/home/config.txt owner=root group=root mode=0664"

結果:

文件config.txt被成功上傳到目標主機的 /etc/app/目錄,權限設置為0644,并且把所有者和組設置為root。

多環(huán)境文件分發(fā)

在生產環(huán)境中,需要將不同的配置文件分發(fā)到開發(fā)、測試和生產環(huán)境。配置文件根據環(huán)境名稱存儲在控制節(jié)點的不同目錄中:

  • /etc/ansible/configs/dev/config.txt
  • /etc/ansible/configs/test/config.txt
  • /etc/ansible/configs/prod/config.txt

動態(tài)路徑分發(fā)

Playbook 示例:

- name:多環(huán)境配置文件分發(fā)
hosts:all
vars:
    env:"{{ inventory_hostname | regex_replace('(.*)-(.*)', '\\2') }}"# 提取環(huán)境名
tasks:
    -name:根據環(huán)境分發(fā)配置文件
      ansible.builtin.copy:
        src:"/etc/ansible/configs/{{ env }}/config.txt"
        dest:"/etc/app/config.txt"
        owner:root
        group:root
        mode:'0644'

**hosts**** 文件示例:**

[dev]
dev-server-01 ansible_host=192.168.1.101

[test]
test-server-01 ansible_host=192.168.1.102

[prod]
prod-server-01 ansible_host=192.168.1.103

命令運行:

ansible-playbook -i hosts multi_env_copy.yml

結果:

每個環(huán)境的主機接收到對應的配置文件:

  • dev-server-01:收到 dev/config.txt。
  • test-server-01:收到 test/config.txt。
  • prod-server-01:收到 prod/config.txt。

替換目標文件內容

在上傳文件時,需要動態(tài)替換其中的占位符,例如替換為主機名或IP地址。

使用 content 參數

Playbook 示例:

- name:動態(tài)生成配置文件
hosts:all
tasks:
    -name:根據模板生成配置文件
      ansible.builtin.copy:
        dest:/etc/app/config.txt
        content:|
          主機名:{{ inventory_hostname }}
          IP地址:{{ ansible_default_ipv4.address }}
        owner:root
        group:root
        mode:'0644'

命令運行:

ansible-playbook -i hosts dynamic_content.yml

結果:

目標主機 /etc/app/config.txt 的內容如下:

主機名:dev-server-01
IP地址:192.168.1.101

copy模塊 vs template 模塊

copy 模塊雖然簡單高效,但在處理動態(tài)內容時需要通過 content 參數顯式定義。而 template 模塊專為動態(tài)內容設計,結合Jinja2模板更靈活。

總結

copy模塊是Ansible文件分發(fā)的基礎工具,無論是單文件上傳、多環(huán)境管理,還是動態(tài)內容生成,它都能快速滿足需求。在實際運維中,根據場景選擇適當的方法,搭配其他模塊使用,可以大大提高自動化效率。快用copy模塊在你的工作中試一試吧!

責任編輯:趙寧寧 來源: 攻城獅成長日記
相關推薦

2020-07-02 09:55:32

運維架構技術

2020-04-21 10:11:12

運維體系趨勢

2022-07-27 11:10:27

Kubectl命令運維

2018-12-28 09:11:28

運維監(jiān)控開源

2020-06-03 15:25:27

運維架構技術

2020-07-10 07:58:14

Linux

2024-11-15 11:11:48

2020-04-28 18:12:31

技術資訊

2024-01-03 07:56:50

2022-05-18 09:01:19

JSONJavaScript

2025-01-24 07:44:31

LinuxsystemdAnsible

2025-05-26 10:05:00

Ansible模塊自動化

2022-08-19 10:31:32

Kafka大數據

2015-10-20 09:46:33

HTTP網絡協(xié)議

2019-01-30 14:14:16

LinuxUNIX操作系統(tǒng)

2018-10-26 14:10:21

2023-04-20 14:31:20

Python開發(fā)教程

2024-06-13 09:10:22

2015-08-17 16:05:35

javascript對象編程

2024-01-09 13:58:22

PandasPython數據分析
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 色综合久久久久 | 成人国产免费视频 | 国产精品视频免费观看 | 蜜桃视频一区二区三区 | 三级成人片 | 国产视频一区在线 | av久久| aaaaaa大片免费看最大的 | 欧美亚洲激情 | 久久中文视频 | 日本高清视频在线播放 | 免费观看一级毛片 | 亚洲在线免费观看 | 欧美性生活网 | 国产一区二区免费在线 | 自拍偷拍精品 | 99热精品在线观看 | 亚洲在线免费 | 欧美精品久久久久 | 久草院线 | 精品视频在线观看 | 久久国产婷婷国产香蕉 | 欧美一区二区三区久久精品视 | 在线一区 | 欧美日韩亚洲一区 | 久久久国产一区二区 | 福利视频网站 | 欧美精品在线观看 | 91精品国产91久久久久久吃药 | 日韩成人免费av | 中文字幕不卡在线观看 | 欧美精品网站 | 人人种亚洲 | 国产亚洲成av人在线观看导航 | 一级特黄网站 | 亚洲精品粉嫩美女一区 | 日韩三| 一区二区三区欧美在线 | 国产精品视频97 | 天堂在线1| 欧美一区二区三区四区在线 |