Kommando zurück:
Ich hatte das Backup manuell bei All-Inkl angestoßen und dann die Backup-Datei am Windows Laptop heruntergeladen und kontrolliert.
Das ist wieder das typische Windows-Problem, dass Windows nicht mit den Symlinks umgehen kann und aus den Symlinks dann Dateien macht.
Ich habe es jetzt mal am Mac heruntergeladen und ausprobiert, da gibt es überhaupt keine Probleme. Die Symlinks sind ganz normal da.
Sorry für die Falschmeldung.
Das heißt, das Backup-Script von All-Inkl kann schon sauber Symlinks kopieren und ins Backup mit reinnehmen.
Hier mal das FTP-Script leicht abgeändert. Ich habe noch den Domainnamen in den Archivnamen mit reingenommen sowie dann als Abschlussmeldung noch einen Downloadlink dazugenommen, mit dem dann das erstellte Archiv direkt heruntergeladen werden kann:
Code:
<?
// 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 = "/domain/contao/";
// Auszuschließende Ressourcen
$ignorieren = array("*.sql.gz", "*.tar.gz", "usage", "logs");
// Domaindaten
$subdomain = "Sudomain, z.B. www";
$domain = "Domain, z.B. domain.de";
// PEAR-Klasse einbinden und Archiv erstellen
$pfad = preg_replace('/(\/www\/htdocs\/\w+\/).*/', '$1', realpath(__FILE__));
include "Archive/Tar.php";
$archivname = "ftp-backup_" . preg_replace('/.+\/(.+)\/$/', '$1', $pfad) . "_" . $subdomain . "." . $domain . date('_Y-m-d_His') . ".tar.gz";
$archiv = new Archive_Tar($archivname, true);
$archiv->setIgnoreList($ignorieren);
$archiv->createModify($pfad.$verzeichnis, "", $pfad);
$link = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];
$link = str_replace(basename(__FILE__),$archivname,$link);
echo "Das Backup der FTP-Daten ist fertig.";
echo "<br /><br />";
echo "Downloadlink: <a href='" . $link . "'>" . $archivname . "</a>";
?>
Auch beim DB-Backup-Script habe ich den Domainnamen in den Archivnamen mit reingenommen sowie dann als Abschlussmeldung noch einen Downloadlink dazugenommen:
Code:
<?
######## Einstellungen #############################################
$db_name = "Datenbankname";
$db_passwd = "Datenbankpasswort";
$subdomain = "Subdomain, z.B. www";
$domain = "Domain, z.B. domain.de";
$sql_file = "db-backup_" . $db_name . "_" . $subdomain . "." . $domain . "_" . date('Y-m-d_His') . ".sql";
####################################################################
exec("mysqldump -u $db_name -p'$db_passwd' --allow-keywords --add-drop-table --complete-insert --quote-names $db_name > $sql_file");
exec("gzip $sql_file");
$datei = $sql_file . ".gz";
$link = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];
$link = str_replace(basename(__FILE__),$datei,$link);
echo "Das Backup der DB-Daten ist fertig.";
echo "<br /><br />";
echo "Downloadlink: <a href='" . $link . "'>" . $datei . "</a>";
?>
Vielleicht kanns ja jemand gebrauchen...
Lesezeichen