Saya menggunakan func untuk melakukan perintah paralel pada server kami.
Suatu hari, kami memiliki masalah ketika layanan restart puppet
via func
membuat semua severs kami mengenai kami puppetmaster
pada saat yang sama.
Pertanyaan saya: Bagaimana saya bisa menjalankan perintah yang sama persis pada satu set server sambil menambahkan penundaan sebelum dieksekusi pada masing-masing server?
Misalnya: random_delay && service puppet restart
Saya tertarik pada random_delay
bagian dari perintah.
linux
command-line-interface
puppet
Belmin Fernandez
sumber
sumber
sleep $((RANDOM % MAXWAIT))
adalah cara yang benar. Saya akan mengedit jawabannya.fqdn_rand
.dash
echo sleep $((RANDOM % 900))
imbalansleep 0
. Ini berarti tidak aman untuk digunakan dalam#!/bin/sh
skrip atau tempat-tempat seperti crontab. (Masalahnya tampaknyadash
tidak mengerti$RANDOM
)Saya sangat menyukai solusi inovatif S19N, namun kurang ideal. Saya hanya mengatakan itu kurang dari ideal, karena sebagian besar masih non-deterministik ketika hal-hal benar-benar akan terjadi. Saya lebih suka bisa menjamin kapan hal-hal akan terjadi, dan hal-hal apa yang akan terjadi ketika hal itu terjadi.
Orkestrasi boneka sebenarnya adalah masalah yang sulit .
Salah satu solusi "praktik terbaik" adalah dengan menggunakan MCollective yang tidak hanya akan memungkinkan Anda untuk mengonfigurasi ketika boneka berjalan pada kelompok mesin Anda, tetapi Anda juga dapat menggunakannya untuk masalah orkestrasi serupa lainnya.
sumber