Für ISPConfig fehlte mir eine komfortable Möglichkeit, relevante Daten zu den Webs anzuzeigen.
Deshalb habe ich mir ein Script show_webuser.sh
gebaut.
Wer dieses Script benutzen möchte, benötigt einen mit ISPConfig verwalteten Server.
#!/bin/bash
# show_webuser.sh
#$Revision: 1.8 $
# Nach der eigentlichen Aufgabe die Webs und Datenbanken zu zeigen, werden die Kontaktdaten
# ermittelt und ausgegeben.
if [ $# -eq 0 ]
then
echo "usage: $0 webnumber"
echo "z.B. $0 web158"
exit 0
fi
# Führe die SQL-Abfrage aus und speichere das Ergebnis in einer Variablen
result=$(echo "use dbispconfig;
SELECT DISTINCT domain, domain_id, system_user, system_group, document_root, web_database_user.database_user
FROM web_domain, client, web_database_user
WHERE system_user = \"$1\"
AND web_database_user.sys_groupid = web_domain.sys_groupid
ORDER BY web_database_user.database_user;
" | mysql -S /var/run/mysqld/mysqld.sock --table)
# Extrahiere die system_group IDs aus dem Ergebnis und speichere sie in einer Liste
system_groups=$(echo "$result" | awk 'NR>2 {print $4}' | sort | uniq)
# Gib das Ergebnis aus
echo "$result"
CLIENT=$(echo "$result"|grep "client"|cut -d\| -f5|tail -1)
SEARCH=$(echo "$CLIENT"|tr -d [:alpha:])
# SQL-Abfrage ausführen, um die E-Mail basierend auf client zu finden
echo "use dbispconfig;\
SELECT username, contact_firstname, contact_name, email
FROM client
WHERE client_id = '$SEARCH';
" | mysql -S /var/run/mysqld/mysqld.sock --table