HowTo: Zugriff auf Hardwareklasse per parallel-ssh

Hi.
Ich habe ein Mini-Script gebastelt, mit dem man per parallel-ssh auf viele Clients “gleichzeitig” zugreifen kann, um Dinge wie “apt update” o.ä. im laufenden Betrieb erledigen zu können.

Eigentlich ist das Script drumherum fast gar nicht notwendig, da die Syntax von parallel-ssh selbsterklärend ist. Ich habe das dennoch so gemacht, damit ich nicht jedes Mal nachsehen muss, wie das nochmal war … Wie immer gilt: wer’s gebrauchen kann -> Hier ist es… :slight_smile:

#!/bin/bash

#######################################################################
# Scriptname :    pssh_manager.sh 
# Author     :    Michael Hagedorn
# Date       :    2019-08-07
# Requires   :    pssh, hosts-File
# Category   :    geeignet für linuxmuster 6.x
# Version    :
VER='1.0'
#######################################################################

#Einzulesende hosts-Datei (entweder als Paramter übergeben):
#PCs=$1

#oder festen Dateinamen zuordnen:
PCs="hosts_kl_raum.txt"
#PCs="hosts_gr_raum.txt"

#Befehl, der remote ausgeführt werden soll:
cmd="uptime";
#cmd="apt -y remove gnome-mines gnome-mahjongg gnome-sudoku";
#cmd="sudo apt -y install musescore";
#cmd="poweroff";
#cmd="reboot";

#pssh-Optionen:
options=" "
# z.B. -i oder -t oder -v (man pssh)

#Test, ob Syntax richtig angegeben wurde 
#(Diesen Absatz kann man später auch auskommentieren):
filename="${0##*/}"
scriptpath=`pwd -P`

if [ -z "$1" ]
  then
    echo
    echo "Syntax: $scriptpath/$filename $PCs"
    echo
    echo 
    exit 0;
fi

#######################################################################

parallel-ssh -h $PCs -P $cmd $options

# vgl.: https://www.cyberciti.biz/cloud-computing/how-to-use-pssh-parallel-ssh-program-on-linux-unix/

Schönen Gruß,
Michael

3 „Gefällt mir“

Nice! Ich nutze bislang immer pconsole, das so viele Terminals öffnet, wie man sich zu Rechnern verbindet auf denen man dann parallel arbeiten kann.

Wenn man allerdings bereits weiss, was zu tun ist oder die Anzahl der Rechner einfach die Bildschirmgröße übersteigt ist das natürlich genial! Danke für den Tipp!

Hi. Schön, wenn du es gebrauchen kannst :+1:

Ich kannte bisher tmux:
https://wiki.ubuntuusers.de/tmux/

Michael

tmux ist etwas anders gelagert, eher der Nachfolger von screen. pconsole “klaut” sich einfach TTYs, das hat auch andere nette Möglichkeiten … zB das komplette Mitlesen von Terminal Sessions.

Nachtrag … ich habe das Script auf dem v7-Server zusammen mit Ubuntu 20.04-Clients reaktiviert. Läuft wunderbar und man kann damit z.B. sehr schnell einen ganzen Raum herunterfahren…

Übrigens als Ergänzung: Die notwendigen Dateien erhält man, indem an diesen Einzeiler absetzt:
cat devices.csv |grep raum1 |awk -F";" '{print "root@"$5}' > hosts_kl_raum.txt