我正在嘗試撰寫一個腳本來自動重啟我們環境中的服務器。我們正在使用 ansible-playbook -i rebootlist reboot.yml 一次重新啟動 100 個服務器,因為我們有大約 400 多臺服務器并且需要按順序重新啟動。所以,我想出了這個:
for j in $(cat rebootlist); do for k in $(cat $j); do ansible-playbook -i $k reboot.yml >> $output; done; done
這里,
rebootlist 有 4 個 100 個服務器的串列。
$ cat rebootlist
reboot00
reboot02
reboot03
reboot04
我在下面收到此警告
[警告]:沒有決議庫存,只有隱式本地主機可用
[警告]:提供的主機串列為空,只有 localhost 可用。請注意,隱式本地主機與“全部”不匹配
謝謝拉爾克
uj5u.com熱心網友回復:
讓我們稍微簡化一下資料。例如,給定檔案
shell> cat rebootlist
reboot00
reboot02
shell> cat reboot00
host000
host099
shell> cat reboot02
host100
host199
在下面的劇本中,在第一個劇本中創建一個動態組并在第二個劇本中使用它,例如
shell> cat reboot.yml
- hosts: localhost
gather_facts: false
tasks:
- add_host:
name: "{{ item }}"
groups: "{{ group }}"
loop: "{{ lookup('file', group).splitlines() }}"
- hosts: "{{ group }}"
gather_facts: false
tasks:
- debug:
msg: "Reboot {{ inventory_hostname }}"
然后遍歷該檔案中的專案rebootlist .eg
shell> for j in $(cat rebootlist); do ansible-playbook -e group=$j reboot.yml; done
給(略)
PLAY [localhost] ***********************
TASK [add_host] ************************
ok: [localhost] => (item=host000)
ok: [localhost] => (item=host099)
PLAY [reboot00] ************************
TASK [debug] ***************************
ok: [host000] =>
msg: Reboot host000
ok: [host099] =>
msg: Reboot host099
PLAY RECAP *****************************
host000: ok=1 changed=0 unreachable=0
host099: ok=1 changed=0 unreachable=0
localhost: ok=1 changed=0 unreachable=0
PLAY [localhost] ***********************
TASK [add_host] ************************
ok: [localhost] => (item=host100)
ok: [localhost] => (item=host199)
PLAY [reboot02] ************************
TASK [debug] ***************************
ok: [host100] =>
msg: Reboot host100
ok: [host199] =>
msg: Reboot host199
PLAY RECAP *****************************
host100: ok=1 changed=0 unreachable=0
host199: ok=1 changed=0 unreachable=0
localhost: ok=1 changed=0 unreachable=0
uj5u.com熱心網友回復:
我想推薦一個好的應用程式來更好地學習和理解 unix 和 linux。在這個應用程式中,您可以找到對概念和圖表的很好的解釋。
[鏈接] - https://play.google.com/store/apps/details?id=com.kanha.unixlinuxpocketbook
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/313517.html
上一篇:如何列印字串模式?
下一篇:每次回圈完成后如何列印字符
