Ein Wiki privater Natur

show_webuser

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

show_webuser_1280x.png