Seite 2 von 2
Re: Backup des gesamten Webserverinhalts als *.zip gerunterl
Verfasst: 02.09.2016 11:38
von sneaker8650
Ich sage auch mal danke, ohne SSH Zugang ist man da wohl sonst ziemlich aufgeschmissen. Der gepostete Code hat bei mir bestens funktioniert.
Re: Backup des gesamten Webserverinhalts als *.zip gerunterl
Verfasst: 09.01.2017 18:32
von Wolkenbruch
Hallo,
bei meinem Forum läuft das Snippet super und ist eine grosse Hilfe. Heute wollte ich bei einem Freund ein Backup machen, ein Forum, das kleiner ist als das meine, da kommt nach kurzer Zeit folgende Fehlermeldung: Fatal error: Maximum execution time of 30 seconds exceeded in /home/vhosts/5000162500/xxxxxxxx.com/htdocs/zip.php on line 34
Weiss jemand Rat?
Re: Backup des gesamten Webserverinhalts als *.zip gerunterl
Verfasst: 09.01.2017 20:23
von Dr.Death
Ja, kontaktiere den Hoster.
Der Hoster ein Zeitlimit pro php Datei vorgegeben, daher die eindeutige Meldung:
Maximum execution time of 30 seconds exceeded
Re: Backup des gesamten Webserverinhalts als *.zip gerunterl
Verfasst: 10.01.2017 13:33
von Wolkenbruch
Danke Dr.Death für die schnelle Antwort. Eine Anfrage beim Provider wurde ebenfalls schnell beantwortet. Es heißt: Leider kann der Wert auf dem Server auf dem sich Ihr Webspace befindet nicht mehr geändert werden. Gerne möchten wir Ihnen daher einen kostenlosen Umzug auf einen anderen Server anbieten. Dort sind die PHP-Versionen 5.6 & 7 verfügbar. Dann steht einem eventuellen späterem Upgrade auf phpBB 3.2 nichts mehr im Wege.
Re: Backup des gesamten Webserverinhalts als *.zip gerunterl
Verfasst: 09.02.2017 18:19
von Wolkenbruch
Hallo, ich melde mich nochmal zum Script. Seit kurzem geht es bei mir leider nicht mehr. Der Grund ist gefunden - mein Webspace ist zu klein. Er reicht nicht mehr für den Inhalt und ein Backup. Hat jemand eine Idee wie ich einzelne Ordner beim Backup ausschließen kann? Ich finde das Script unheimlich praktisch und würde nur ungern darauf verzichten.
Re: Backup des gesamten Webserverinhalts als *.zip gerunterl
Verfasst: 09.02.2017 23:28
von gn#36
Für das Problem gibt es mehrere Lösungen, abhängig davon wie deine Möglichkeiten so aussehen. Achtung: Bitte erst lokal testen ob alles reibungslos funktioniert (und insbesondere hinterher auch das Backup prüfen!).
- Den Iterator mit einem regulären Ausdruck so anpassen, dass er nur bestimmte Ordner liefert:
Code: Alles auswählen
$reduced_files = new RegexIterator($files, '/^.+\.php$/i', RecursiveRegexIterator::GET_MATCH);
Das muss vor foreach ($files as $name => $file)
platziert werden, außerdem wird in der Zeile $files
durch $reduced_files
ersetzt. In diesem Beispiel würdest du nur PHP Dateien archivieren, das Pattern kannst du beliebig anpassen und so auch gezielt bestimmte Ordner sichern oder weglassen.
- In der Schleife Ordnernamen mit einer Liste abgleichen und entweder nur bestimmte Ordner durchlassen oder bestimmte Ordner nicht archivieren:
Code: Alles auswählen
$folder_ary = array('ordner1', "ordner2/unterordner1");
foreach ($folder_ary as $skip)
{
if (substr_compare($relativePath, $skip, 0, strlen($skip)) == 0)
{
continue 2;
}
}
Das ganze gehört dann nach $relativePath = substr($filePath, strlen($rootPath) + 1);
, $folder_ary
muss mit den zu überspringenden Ordnernamen gefüllt werden. Wenn du eine Whitelist willst kannst du vor die Schleife auch eine Variable $found
die anfangs false ist und dann in der Schleife in dem if
auf true gesetzt wird. Anschließend überspringst du mit den Schleifendurchlauf, wenn dein Ordner nicht auf der Liste steht. Mit diesem Ansatz kannst du ziemlich feingranular filtern, allerdings braucht der Ansatz auch ziemlich lange, weil jede Datei mit der kompletten black/white Liste abgeglichen wird.
Beide Ansätze lassen sich kombinieren. Du kannst also mit dem Regex Filter auf bestimmte Dateien Filtern und mit dem zweiten Ansatz dann zusätzlich bestimmte Ordner weglassen, oder mit dem Regex Filter auf bestimmte Unterordnernamen einschränken und mit dem zweiten Ansatz dann zusätzlich ein paar Dinge ausschließen.
Re: Backup des gesamten Webserverinhalts als *.zip gerunterl
Verfasst: 10.02.2017 10:41
von Joyce&Luna
Hallo
Wenn es einen interessiert und wer bei all-inkl ist, kann einen Ordner erstellen und eine Datei
ftp-backup.php
mit dem Code
Code: Alles auswählen
<?
// PHP-Konfiguration optimieren
@error_reporting(E_ALL ^ E_WARNING);
@ini_set("max_execution_time", 300);
@ini_set("memory_limit", "256M");
// Zu sicherndes Unterverzeichnis. Bleibt leer, wenn gesamter Account gesichert werden soll.
$verzeichnis = "";
// Auszuschließende Ressourcen
$ignorieren = array("*.sql.gz", "*.tar.gz", "usage", "logs");
// PEAR-Klasse einbinden und Archiv erstellen
$pfad = preg_replace('/(\/www\/htdocs\/\w+\/).*/', '$1', realpath(__FILE__));
include "Archive/Tar.php";
$archivname = preg_replace('/.+\/(.+)\/$/', '$1', $pfad).date('_Y-m-d_His').".tar.gz";
$archiv = new Archive_Tar($archivname, true);
$archiv->setIgnoreList($ignorieren);
$archiv->createModify($pfad.$verzeichnis, "", $pfad);
echo "Backup fertig";
?>
Alle Domains und Subdomains werden dann gesichert und als *tar.gz gepackt.
Bitte nicht vergessen und ein Verzeichnisschutz anlegen.
Anke
Re: Backup des gesamten Webserverinhalts als *.zip gerunterl
Verfasst: 10.02.2017 11:28
von Scanialady
Was spricht denn dagegen, es mit dem backup-Tool des Hosters zu machen? Oder bieten so großartig beworbene Hoster wie all-inkl sowas etwa nicht an? (nur mal aus Neugier gefragt)
Re: Backup des gesamten Webserverinhalts als *.zip gerunterl
Verfasst: 10.02.2017 12:20
von Joyce&Luna
Hallo
Das ist was sie anbieten. Ich weiß nicht ob es erwünscht ist, wenn man dazu ein Link postet, darum lasse ich das. Aber wer in google FTP Backup all ink eingibt, der findet dazu den passenden Link.
Anke
Re: Backup des gesamten Webserverinhalts als *.zip gerunterl
Verfasst: 10.02.2017 13:46
von Wolkenbruch
Vielen Dank @gn#36 für die ausführlich- sachliche Erklärung.

Ich werde mich mal versuchen.