自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

別讓通配符限制你的 Ansible Fetch 操作,這里有破解之道!

開發(fā) 系統(tǒng)
?關(guān)于如何用 ansible? 批量拉取遠端的日志文件,這里分享一個實用的解決方案。

在工作中,我們經(jīng)常需要從多臺服務(wù)器上拉取日志文件。雖然ansible的fetch模塊看起來支持通配符,但實際使用中卻遇到了問題。這讓我有點困惑,但也促使我找到了更好的解決辦法。

問題復(fù)現(xiàn)

比如,我要在node1節(jié)點上拉取多個csv文件。按照直覺,我直接用了通配符:

ansible node1  -m fetch -a "src=/root/*.csv dest=./ flat=yes"

但結(jié)果卻是失?。?/p>

the remote file does not exist, not transferring, ignored

這讓我很疑惑:明明文件是存在的??!

分步解決辦法

其實,ansible的fetch模塊對通配符的支持并不友好。通過實踐,我找到了一個更可靠的方法,分兩步就能解決問題:

(1) 先把遠端的文件找出來

先用find模塊在遠端主機上搜索所有符合條件的文件。比如,我可以這樣寫:

- name: 查找所有CSV文件
  find:
    paths: /root/
    patterns: "*.csv"
    recurse: yes
  register: csv_files

這就像是讓ansible機器人幫我把所有符合條件的文件列出來。

(2) 一個一個拉回來

找到文件后,再把這些文件一個一個拉回來:

- name:拉取找到的CSV文件
fetch:
    src:"{{ item.path }}"
    dest:"./"
    flat:yes
loop:"{{ csv_files.files }}"
when:csv_filesisdefinedandcsv_files.files|length> 0

這樣,ansible就會按順序把所有找到的文件都拉到本地了。

怎么做呢?很簡單!

(1) 把這些內(nèi)容保存成一個文件,比如叫fetch_csv.yml

(2) 在電腦上運行:

ansible-playbook fetch_csv.yml

這樣就搞定了!如下圖所示:

  • 權(quán)限問題:確保ansible賬號在遠程服務(wù)器上有權(quán)限訪問這些文件
  • 路徑問題:確認文件路徑和文件名是正確的,避免小錯誤導(dǎo)致失敗

小結(jié)

其實,這個方法不僅適用于csv文件,任何類型的文件都可以用同樣的方法批量拉取。希望這個方法能幫到你,解決批量拉取文件的困擾!

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

2020-06-12 07:36:33

Redis

2020-11-02 15:49:35

機器學習技術(shù)云計算

2020-11-30 10:58:52

Linux操作系統(tǒng)Windows

2022-12-27 14:52:31

Kubernetes云原生開發(fā)

2016-07-12 10:03:37

2019-05-23 10:18:19

監(jiān)控組件cpu

2023-11-21 08:45:10

JSON性能程序

2020-05-12 10:43:24

物聯(lián)網(wǎng)數(shù)據(jù)技術(shù)

2020-04-21 14:49:35

物聯(lián)網(wǎng)數(shù)據(jù)技術(shù)

2022-12-21 14:21:19

云計算供應(yīng)商IT

2018-03-25 09:11:31

大數(shù)據(jù)機器學習分析軟件

2017-04-11 12:37:56

人工智能深度學習互聯(lián)網(wǎng)

2018-03-20 13:28:16

數(shù)據(jù)結(jié)構(gòu)堆棧算法

2018-04-02 11:22:31

大數(shù)據(jù)Hadoop數(shù)據(jù)處理

2015-09-20 15:50:46

2017-10-20 13:17:21

2021-10-13 17:58:57

模型人工智能函數(shù)

2019-04-29 08:30:20

Python可視化工具數(shù)據(jù)可視化

2023-11-27 17:24:43

2016-08-23 00:39:25

點贊
收藏

51CTO技術(shù)棧公眾號