Ich bin begeisterter Uberspace-User und betreibe zwei Dutzend Uberspaces bei dem Provider. Auf den meisten Accounts habe ich Drupal installiert und habe regelmäßig administrative Tätigkeiten auf mehreren oder allen Uberspaces zu erledigen — spätenstens, wenn ein Drupal-Sicheheitsupdate zu Eile mahnt.
Ich habe mir ein kleines Script uberspaces geschrieben, welches mir aus meiner Ssh-Konfigurationsdatei ~/.ssh/config
die Liste der Ssh-Host-IDs alle Uberspaces liefert, die ich dann in Shellkommandos nutzen kann. Die Ssh-Host-IDs sind dabei mit Leerzeichen voneinander getrennt.
Beispiel: Gib die Crontabs aller Uberspaces aus
for i in $(uberspaces)
do
echo "*** $i ***"
ssh $i "crontab -l"
done
Und noch ein Beispiel: Finde alle Drupal-Installationen in allen Uberspaces, in denen ein bestimmtes Drupal-Modul installiert ist. In diesem Fall — aus aktuellem Anlass — das date.module
for i in $(uberspaces)
do
echo "*** $i ***"
ssh $i "find /var/www/virtual/$i -type f -name date.module"
done
Einzige Voraussetzung ist, dass in der Datei ~/.ssh/config
für jeden Uberspace ein solcher Eintrag vorhanden ist:
Host myuberspace
Hostname servername.uberspace.de
User myuberspace
Der UserName
und der Host-Id müssen nicht übereinstimmen, ich habe diese Konvention gewählt. Weitere Konfigurationswerte zu einem Eintrag sollten nicht stören, sie werden einfach ignoriert.
Auf diese Weise kann man leicht der Empfehlung der Ubernauten folgen, und für jede Website einen eigenen Uberspace einrichten, ohne bei der Administration zusätzlich Zeit investieren zu müssen.