公司是使用puppet來進行配置管理, 某天修改完puppet後領導回覆:
我們有乙個文件cabinet.txt記錄了物理機器所在的機櫃, 除了文件裡的其他機器都是虛擬機器或雲伺服器, 對虛擬機器的puppet配置檔案使用git還原為上乙個版本, 不過機器數量非常多, 所以想能否使用指令碼來跑一下, 沒有想象中的那麼麻煩, 很簡單的乙個shell指令碼即可實現目的.
指令碼如下:
#!/bin/bash
for i in `ls manifests`
do j=`echo $i | sed 's/.nutscloud.com.pp//g'`
if [ `grep -c $j cabinet.txt` -eq 0 ];then
echo $j
git checkout head^ manifests/$i
fidone
執行結果:
現在在vscode裡面可以看到很多修改, 把他們提交就完事了~
其實有時候做一些小工具並沒有那麼的難, 可能會覺得只用一次不如手擼方便, 但是執行一下所有事情都做完這種感覺是手擼給不了你的.
shell指令碼 for迴圈
迴圈語句 while對於要求控制迴圈次數 操作物件按數字順序編號,按特定條件執行重複操作。重複測試某個條件時,只要條件成立就會反覆執行 無限 除非強制終止,或者exit語句退出指令碼 for迴圈語句 需要指定乙個變數以及可以取值的取值列表,針對每乙個不同的取值執行相同的命令序列,直到變數值用盡,退出...
shell指令碼 迴圈
迴圈有三種for,while,until,前兩種多種語言都有,大同小異,最後那種用的少,咱們就不說了 老規矩,上來先看 塊 root localhost scripts bash ceshi.sh 12 3456 78910 root localhost scripts cat ceshi.sh b...
shell 指令碼 迴圈
shell for 迴圈參考 linux下shell的for迴圈語句 shell逐行讀取檔案的3種方法 for迴圈語法 for var in item1 item2 itemn do command donefor迴圈 路徑查詢 在 mx資料夾有檔案 check list md5result tes...