Im Prinzip ganz simple.
Die komplette Datei für die erstellung der statischen HTML - Seiten:
Code: Alles auswählen
<?php
ignore_user_abort(true);
//Einstellungen Pfad zum Programm
$path="/homepages/htdocs/admin/";
include_once ('../contenido/contenido/includes/config.php');
include_once ('../contenido/contenido/includes/functions.con.php');
$db = new DB_Contenido;
$sql = "SELECT A.idcatart, B.title, C.name
FROM
".$cfg["tab"]["cat_art"]." AS A,
".$cfg["tab"]["art_lang"]." AS B,
".$cfg["tab"]["cat_lang"]." AS C
WHERE
A.idcat = C.idcat AND
A.idart = B.idart AND
B.online = '1' AND
B.redirect = '0' order by C.name";
$db->query($sql);
$zaehler=0;
$path1 = $path . "misc/";
if (!is_dir($path1)) mkdir($path1, 0777);
while ( $db->next_record() ) {
$articleID[] = $db->f("idcatart");
$articlename[] = $db->f("title");
$kategoriename[] = $db->f("name");
$zaehler++;
$fn=$path1.$articleID[$zaehler-1].".html";
$text = implode ('', file ("http://www.ihreseite.de/contenido/cms/front_content.php?idcatart=".$articleID[$zaehler-1]));
// Pfadangaben in relative Pfade ändern, evtl weitere Ersetzungen vornehmen
$text = ereg_replace ('http://www.ihreseite.de/contenido/cms/','',$text);
$fp=fopen($fn,"w");
fwrite($fp,$text);
fclose($fp);
};
$name = date("Y-m-d");
$teil = 1;
$path2 = $path . "static/";
if (!is_dir($path2)) mkdir($path2, 0777);
while (file_exists($path2."static_".$name."_".$teil.".tar.gz")) {$teil = $teil + 1;};
system("tar -zcf static/static_".$name."_".$teil.".tar.gz static/");
system("rm -r misc");
?>
Damit sind dann ersteinmal die aufrufbaren Seiten als html-Seiten verfügbar. Die Bilder lade ich herunter und packe sie auch gleich z.B. so:
Code: Alles auswählen
<?PHP
ignore_user_abort(true);
$name = date("Y-m-d");
$teil = 1;
while (file_exists("archiv/upload_".$name."_".$teil.".tar.gz")) {$teil = $teil + 1;};
system("tar -zcf archiv/upload_".$name."_".$teil.".tar.gz ../contenido/cms/upload/bilder/");
?>
Somit habe ich zwei Dateien, eines mit den Bildern und eines mit den statischen html-Seiten, könnte man ja auch gleich zusammen ablegen. Der Stand der Internetseiten kann so schnell und ziemlich simple rekonstruiert werden, ohne extra eine Testumgebung mit einer DB einzurichten. Da die Autoren auch sehr oft die Bilder ändern, habe ich auch davon nun auch gleich ein Backup.
Den Pseudo Cronjob würde ich allerdings eher nicht nehmen, da das Erstellen der Dateien schon etwas längern dauern könnte.
Für mich reicht dieses Vorgehen. Weitere Anregungen und Verbesserungen sind erwünscht!
Alex[/code]