4images Forum & Community
4images Modifications / Modifikationen => Mods & Plugins (Releases & Support) => Topic started by: samvelyano on October 18, 2006, 11:43:21 PM
-
Hi,
is there any possibility to setup a crontab to make daily backups?
Thanks
Sam
-
<?php
$host = "XXXXXXXX";
$db = "XXXXXXXX";
$dbuser = "XXXXXXXX";
$dbpw = "XXXXXXXX";
MYSQL_CONNECT($host, $dbuser, $dbpw) or die ( "<H3>Datenbankserver nicht erreichbar</H3>");
MYSQL_SELECT_DB($db) or die ( "<H3>Datenbank nicht vorhanden</H3>");
$path = getenv('DOCUMENT_ROOT')."/DB_backup";
$result = MYSQL_QUERY("SHOW TABLES");
$numrow = MYSQL_NUM_ROWS($result);
for($i = 0;$i < $numrow;$i++) {
$table = date("D");
$table .= '.'.MYSQL_RESULT($result,$i);
echo "$table ... ";
system(sprintf("mysqldump --opt -h $host -u $dbuser -p$dbpw $db $table | gzip > %s/$table.sql.gz",$path));
echo "DONE <br><br>";
}
MYSQL_CLOSE();
?>
You can use this PHP Script to make a Backup from the DB with a Cronjob... (o:
Do you allso need a Backup of the Files/Images?
-
Hi,
thanks for the script. I've tried to make a backup, but something is wrong, here is the result in 4images_images.sql.gz
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
Maybe I'm doing something wrong?
I've created the DB_backup directory and called the cron-script wget http://www.my4imagesite.com/cron.php
Thanks
Sam
-
Ups...
I have @home a newer Version of the Script...
The new Script makes Backups with the day of the week in the Filename and override it weekly...
So you have Backups from the last 7 days...
So you must now wait 7h... )o:
EDIT:
WARUM SCHREIBE ICH IN ENG WENN DU AUS DE BIST? *grübel*
-
cool :)
vielen dank
Grüsse
Sam
-
Hasllo,
das Script wäre auch was für mich :mrgreen:
Daaaaaaanke schon mal.....
Gruß
Kurt
-
Ich habe es bald geschafft, gleich Feierabend und dann noch einkaufen... *g*
Schicke es euch so bald ich wieder daheim bin...
-
warum so lang???
<?
exec("mysqldump -u LOGIN -pPASSWORT --add-drop-table LOGIN >dump" . date('Ymd_g_i') . ".sql");
exec("gzip dump" . date('Ymd_g_i') . ".sql");
echo "Backup wurde erstellt!";
?>
exec("mysqldump -u Login -pPASSWORT --add-drop-table LOGIN >dump" . date('Ymd_g_i') . ".sql");
exec("gzip dump" . date('Ymd_g_i') . ".sql");
echo "Backup wurde erstellt!";
das script, unter welchem Namen auch immer von www.cronjob.de um eine bestimmte Zeit / Tag ausführen lassen
-
How do I make something that can backup my site once a week and make it overwrite the old backup?
- Lars
-
warum so lang???
Weil es jede TAbelle einzeln ausliest und sie dann packt, das ist bei großen DB sehr von Vorteil... (o:
Und exec kann nicht jeder benutzen... (o:
<?php
$host = "XXXXXXXX";
$db = "XXXXXXXX";
$dbuser = "XXXXXXXX";
$dbpw = "XXXXXXXX";
MYSQL_CONNECT($host, $dbuser, $dbpw) or die ( "<H3>Datenbankserver nicht erreichbar</H3>");
MYSQL_SELECT_DB($db) or die ( "<H3>Datenbank nicht vorhanden</H3>");
$path = getenv('DOCUMENT_ROOT')."/DB_backup";
$result = MYSQL_QUERY("SHOW TABLES");
$numrow = MYSQL_NUM_ROWS($result);
for($i = 0;$i < $numrow;$i++) {
$date = date("D");
$table = MYSQL_RESULT($result,$i);
echo "$date.$table ... ";
system(sprintf("mysqldump --opt -h $host -u $dbuser -p$dbpw $db $table | gzip > %s/$date.$table.sql.gz",$path));
echo "DONE <br><br>";
}
MYSQL_CLOSE();
?>
Das sollte eigentlich funzen...
Viel Spass damit... (o:
-
Perfect!
vielen Dank
Grüsse
Sam
-
This topic has been moved to Mods & Plugins (Releases & Support) !
-
hab nee datei mir dem Inhalt angelegt...
<?php
$host = "XXXXXXXX";
$db = "XXXXXXXX";
$dbuser = "XXXXXXXX";
$dbpw = "XXXXXXXX";
MYSQL_CONNECT($host, $dbuser, $dbpw) or die ( "<H3>Datenbankserver nicht erreichbar</H3>");
MYSQL_SELECT_DB($db) or die ( "<H3>Datenbank nicht vorhanden</H3>");
$path = getenv('DOCUMENT_ROOT')."/DB_backup";
$result = MYSQL_QUERY("SHOW TABLES");
$numrow = MYSQL_NUM_ROWS($result);
for($i = 0;$i < $numrow;$i++) {
$date = date("D");
$table = MYSQL_RESULT($result,$i);
echo "$date.$table ... ";
system(sprintf("mysqldump --opt -h $host -u $dbuser -p$dbpw $db $table | gzip > %s/$date.$table.sql.gz",$path));
echo "DONE <br><br>";
}
MYSQL_CLOSE();
?>
also ich die dann testhalber mal aufgerufen habe... kommt folgende meldung..
Sun.4images_categories ...
Warning: system() has been disabled for security reasons in /www/htdocs/xxxx/mysite/cronjob/job.php on line 20
DONE
is das etz gut oder schlecht... denke das heisst das der system() befehl nicht aktiv ist auf dem Server, auf dem die Seite liegt...
macht er das backup oder nicht ???
kann man den system befehl rauswerfen... oder ist der elemtar ... seh ich das richtig das über den das backup gemacht wird??
wenn ja wo sollten die dateien liegen??
merci UFO