[gull] Bash get stat simulteneously on many hosts
felix
felix at f-hauri.ch
Fri May 31 11:44:46 CEST 2024
Bonjour,
Afin de démontrer
- comment lancer des script sh ou bash à distance en utilisant declare -f
- comment grouper ou gérer des sorties de script parallelisés
- connaître les CPU de mes machines (initialement j'ai fait le
script pour mes raspberry pi)
Je suis parti de
$ for host in rpisalon cartou raspi-2 raspi-3 rpi4-20230101;do
ssh root@$host bash <<<"
mapfile -d '' -t model < /sys/firmware/devicetree/base/model;
printf '%-16s %s\n' '$host' \"\$model\"" &
done | sort
Qui me sort en moins de 2 secondes:
cartou Raspberry Pi 3 Model B Rev 1.2
raspi-2 Raspberry Pi Model B Rev 2
raspi-3 Raspberry Pi 3 Model B Plus Rev 1.3
rpi4-20230101 Raspberry Pi 4 Model B Rev 1.1
rpisalon Raspberry Pi 2 Model B Rev 1.1
Pour ajouter: /proc/uptime, free et df
J'ai finalement pondu 2 script différents:
La version la plus simpliste
https://f-hauri.ch/vrac/getCurrentStat-bash2sort.sh.txt
mais qui envoie des fonctions bash complexes au targets
La version la plus robuste
https://f-hauri.ch/vrac/getCurrentStat-bash4sh.sh.txt
qui envoye des script de collect compatible POSIX shell
et gère les retours séparément afin d'éviter tout mélange.
--
Félix
More information about the gull
mailing list