Über den Author / Internet / Server / Confixx / Confixx Userbackup per Mail versenden

Confixx Userbackup per Mail versenden

~2 Min. Lesezeit

Vor einiger Zeit schrieb ich ein kleines Backupscript, um den einzelnen Confixx Usern schnell ein Backup zukommen zu lassen.

Das Script soll alle Webhostings, inkl. Datenbanken und E-Mails backuppen und dann auf dem Webshare ablegen. Der User erhält dann ein Downloadlink zum runterladen.

Lösung als Shell Skript

#!/bin/bash

Pass=DEIN_MYSQL_ROOT_PASS;
Hauptdomain=DEINE_DOMAIN;

echo „Welcher User soll gebackupt werden?“;
read User;

echo „Wie lautet E-Mailadresse für die Infomail?“;
read Mail;

echo „Backups werden erstellt…“

#############################################################
# Ins Verzeichnis des User gehen
mkdir /tmp/smu-tmp
cd /tmp/smu-tmp
#############################################################

#############################################################
# Alle MySQL Datenbanken sichern
mkdir /tmp/smu-tmp/db
cd /tmp/smu-tmp/db/
mysqlshow -p${Pass} | awk '{print $2}' | grep -v Databases | sort >.dblist

for x in `cat .dblist`; do
echo $x | grep -q ${User}
if [ $? -eq 0 ] then mysqldump –password=${Pass} ${x} > ${x}.sql;
fi;
done;

rm .dblist
#############################################################

#############################################################
# Files sichern
mkdir /tmp/smu-tmp/webfiles
cd /tmp/smu-tmp/webfiles/
tar cfP ${User}_files.tar /var/www/${User}/html/
#############################################################

#############################################################
# Backup sauber ablegen
cd /tmp/smu-tmp/
mkdir /var/www/${User}/html/.fb
tar czfP /var/www/${User}/html/.fb/backup_`date +%y%m%d`.tar.gz ./
rm -R /tmp/smu-tmp
#############################################################

echo "Sehr geehrter Kunde" > Mailtext.txt
echo "Ein komplettes Backup ihres Hostings wurde unter dem folgenden Link:" >> Mailtext.txt
echo "http://${User}.${Hauptdomain}/.fb/backup_`date +%y%m%d`.tar.gz" >> Mailtext.txt
echo "abgelegt." >> Mailtext.txt

mail -s "Backup" $Mail <Mailtext.txt

Im Skript selbst, muss man noch die 2 Variablen anpassen (am Anfang). Ich habe diese fest eingebunden, damit man diese Angaben nicht immer erneut eingeben muss.

Nichtsdestotrotz, möchten gegebenenfalls diverse Personen gleich den Usern selber die Möglichkeit dazu geben und daher diese Option im Webpanel von Confixx hinzufügen.

Dazu habe ich ein Modul gemacht, wo man sehr einfach einbinden kann.

Lösung als Modul für Confixx
Diese Datei (tools_userbackup.phps) uploaded man als .php in das Verzeichnis /var/www/confixx/html/user und anschliessend muss man unter dem Administrtiven Confixx Zugang unter Einstellungen ->>Individuelle Menüs eine neue Kategorie anlegen und danach noch die neue Verlinkung:

Anschliessend kann der User sich selber diese Backups generieren.

Ich tendiere jedoch zum Shell Script, da für das Modul gegebenenfalls Apache2 umkonfiguriert werden muss (/tmp in OpenBasedir aufnehmen).

Zu beachten ist, das diese Backups gleich erstellt werden und daher bei vielen Daten eine grosse Last erzeugen können. Dies kann sich negativ auf die Performance vom Webserver auswirken. Gegebenenfalls müsste man die requesteten Backups in eine Tabelle schreiben und in der Nacht erst ausführen.

About Stefan

avatar
Ein männlicher IT Nerd, durchstöbert das Web nach speziellen Gadgets, unentbehrlicher Software und Alles was man im IT Sektor nicht verpassen darf.Immer hilfsbereit wenn Probleme zu lösen sind oder das Unmögliche umgesetzt werden sollte.

Weitere interessante Artikel

PHP Trojaner (Teil 2: Uploader Infektion)

~1 Min. LesezeitPHP Trojaner sind beliebt, denn oft werden solche Infektionen übersehen und überstehen Jahre …

PHP Trojaner (Teil 1: footer.php Infektion)

~1 Min. LesezeitWieder einmal hat das anynome Web zugeschlagen und eine Installation von diversen WordPress …