Hallo!
Ich habe im Internet nach einem Task gesucht, der mir ein Backup von der Datenbank macht und es mir über SMTP an meine E-Mail-Adresse sendet.
Dazu habe ich dieses Script gefunden, allerdings wird das eigentliche Backup selber nicht mit PHP gemacht, sondern es wird die Funktion passthru benötigt, welche auf meinem Webspace deaktiviert ist. Und außerdem möchte ich über einen SMTP-Server das Backup versenden, dort wird nur die klassische PHP-mail-Funktion verwendet.
Also habe ich mich dran gemacht, mir selber ein solches Script zu schreiben. Dafür habe ich die Datei /inc/tasks/backupdb.php verändert.
Da ich mal vermute, ohne mich mit MyBB-Programmierung auszukennen, dass die SMTP-Mail-Funktion von MyBB keine Anhänge unterstützt, habe ich mich einer anderen Library bedient.
Damit das Script funktioniert, müsst ihr die Library PHPMailer auf euren Webspace in den Ordner /inc/tasks/phpmailer/ hochladen.
Dann einfach die angehängte Datei nach /inc/tasks/ hochladen.
In das Script müsst ihr dann noch eure Zugangsdaten und die Mail-Adresse angeben, an die die Backups geschickt werden sollen.
Sucht einfach nach den Zeilen und
Um den Task ausführen zu können, geht ihr auf Tools&Verwaltung in die Aufgabenverwaltung und fügt die Datei als neuen Task hinzu.
Wenn ihr das Script nicht über die Aufgabenverwaltung ausführen möchtet, sondern durch manuelles ausführen, z. B. durch einen anderweitigen Cronjob oder einfach um es selber mit dem Browser aufzurufen, z. B. für Debugging, könnt ihr folgende Zeilen einfach die Auskommentierung entfernen (die zwei Slashes jeweils am Anfang entfernen):
Beachtet, dass bei der normalen Ausführung des Tasks im Task-Log keine SMTP-Fehler mitgeloggt werden. Wenn das Script nicht funktioniert, müsst ihr wie oben beschrieben über den Browser debuggen.
Das Script ist natürlich erweiterungsfähig und nur "auf die Schnelle zusammengepfuscht". Ich übernehme auch keine Haftung für irgendwelche entstandenen Schäden.
Ihr könnt das Script auch gerne weiterentwickeln, schreibt dann am besten, wenn ihr Verbesserungen habt!
Z. B. könnte man noch die Standard-PHP-mail-Funktion implementierten.
Ich würde mich über Feedback freuen
Gruß,
pcworld
Ich habe im Internet nach einem Task gesucht, der mir ein Backup von der Datenbank macht und es mir über SMTP an meine E-Mail-Adresse sendet.
Dazu habe ich dieses Script gefunden, allerdings wird das eigentliche Backup selber nicht mit PHP gemacht, sondern es wird die Funktion passthru benötigt, welche auf meinem Webspace deaktiviert ist. Und außerdem möchte ich über einen SMTP-Server das Backup versenden, dort wird nur die klassische PHP-mail-Funktion verwendet.
Also habe ich mich dran gemacht, mir selber ein solches Script zu schreiben. Dafür habe ich die Datei /inc/tasks/backupdb.php verändert.
Da ich mal vermute, ohne mich mit MyBB-Programmierung auszukennen, dass die SMTP-Mail-Funktion von MyBB keine Anhänge unterstützt, habe ich mich einer anderen Library bedient.
Damit das Script funktioniert, müsst ihr die Library PHPMailer auf euren Webspace in den Ordner /inc/tasks/phpmailer/ hochladen.
Dann einfach die angehängte Datei nach /inc/tasks/ hochladen.
In das Script müsst ihr dann noch eure Zugangsdaten und die Mail-Adresse angeben, an die die Backups geschickt werden sollen.
Sucht einfach nach den Zeilen
PHP-Code:
// hier SMTP-Zugangsdaten eintragen!
PHP-Code:
// hier Empfänger-Adresse eingeben!
Um den Task ausführen zu können, geht ihr auf Tools&Verwaltung in die Aufgabenverwaltung und fügt die Datei als neuen Task hinzu.
Wenn ihr das Script nicht über die Aufgabenverwaltung ausführen möchtet, sondern durch manuelles ausführen, z. B. durch einen anderweitigen Cronjob oder einfach um es selber mit dem Browser aufzurufen, z. B. für Debugging, könnt ihr folgende Zeilen einfach die Auskommentierung entfernen (die zwei Slashes jeweils am Anfang entfernen):
PHP-Code:
//define('IN_MYBB', 1);
//define('VIRTUAL', 1);
//include '../../global.php';
//task_backupdb(null);
Beachtet, dass bei der normalen Ausführung des Tasks im Task-Log keine SMTP-Fehler mitgeloggt werden. Wenn das Script nicht funktioniert, müsst ihr wie oben beschrieben über den Browser debuggen.
Das Script ist natürlich erweiterungsfähig und nur "auf die Schnelle zusammengepfuscht". Ich übernehme auch keine Haftung für irgendwelche entstandenen Schäden.
Ihr könnt das Script auch gerne weiterentwickeln, schreibt dann am besten, wenn ihr Verbesserungen habt!
Z. B. könnte man noch die Standard-PHP-mail-Funktion implementierten.
Ich würde mich über Feedback freuen
Gruß,
pcworld