久久国产乱子伦精品免费M,亚洲一区二区三区91,欧美国产在线视频,国产精品视频久久

在生產環境中如何批量編輯配置文件

在生產環境中,你是否會碰到這樣的需求:在成百上千的機器上需要去改動一個配置文件。顯然登錄到服務器上面手動去改是不太現實的。這里為大家介紹一下小編在生產環境中所以使用的方法。

這里我們需要借助幾個工具來實現這個功能

1.ansible

2.sed

3.RegularExpression

ansible的作用是連到我們需要改動的主機上面,借助cmd、script等模塊執行一些特定的操作,sed用來增、 刪、 改指定的內容,重點是可以避免交互,而RegularExpression則主要是用來匹配要修改的字符串或者需要從系統中獲取的一些值。

廢話不說多,我們舉個例子來說明:

安裝ansible

yum install ansible -y

?

編輯ansible的配置文件,這里我172.16.4.98 172.16.4.99 172.16.4.100這三臺主機起了一個pro_es的名字,在后面使用ansible的時候pro_es就代表這三參主機了。通常還需要寫上對應的登錄密碼,這里小編用的是證書認證,就不需要寫密碼了。

在生產環境中如何批量編輯配置文件

?

???????????

在生產環境中如何批量編輯配置文件

?

對上面的命令進行說明pro_es對應的是172.16.4.98 172.16.4.99 172.16.4.100這三臺主機,-m 指定使用的模塊,這里使用的是shell 模塊,-a指定模塊的參數。sed -n '3p' /webapp/elasticsearch-5.2.0/config/elasticsearch.yml 是一個sed的命令表示顯示elasticsearch.yml 這個文中中的第三行。所以整條命令的意思就是去98 99 100 這三臺主機上查看一下elasticsearch.yml這個文件的第三行。

我們已經知道怎么去批量查看配置文件,所以想要批量的去修改配置文件,只需要寫修改文件的sed命令就可以了。在使用的過程中小編碰到的一個問題是,如果我們對文件的操作命令很復雜,換句話說就是當-a 后面跟的參數里包含了單引號,雙引號,轉義符等讓你頭疼的時候,可以考慮使用ansible的script模塊,將復雜的命令寫到一個shell或者sed腳本中,就不需要去處理這些引號及轉義符了。

?

舉個例子來說明:

將復雜的命令放進腳本sed.sh里

在生產環境中如何批量編輯配置文件

?

這個腳本將從目標主機上獲取ip地存到ip這個變量里,在elasticsearch.yml文件的最后一行添加一個注釋著的IP地址。

執行

在生產環境中如何批量編輯配置文件

ansible pro_es -m script -a "sed.sh"

驗證結果,是OK的。

在生產環境中如何批量編輯配置文件

?

總結:通過這種方式可以解決批量修改配置文件的問題。前期需要花一些時間在ansible配置文件的編寫上面,后面只需要sed相應的sed命令就可以了,修改一臺和一千臺機器的操作是一樣的。

相關新聞

歷經多年發展,已成為國內好評如潮的Linux云計算運維、SRE、Devops、網絡安全、云原生、Go、Python開發專業人才培訓機構!

    1. 主站蜘蛛池模板: 黑龙江省| 天全县| 乌兰浩特市| 泽普县| 三河市| 潢川县| 邳州市| 石棉县| 新兴县| 新竹县| 芒康县| 邹城市| 怀集县| 虹口区| 垦利县| 鹤庆县| 马关县| 得荣县| 万载县| 怀仁县| 延长县| 中方县| 武城县| 临西县| 松潘县| 巴彦淖尔市| 丹凤县| 太谷县| 连江县| 青州市| 织金县| 广平县| 罗源县| 阜南县| 平湖市| 东辽县| 循化| 察雅县| 云浮市| 娱乐| 宁化县|