Agi
Abend
Ich würde ein Script suchen, das man per Cronjob aufrufen kann und das dann die Datenbank automatisch sichert, am besten in einen eigenen Ordner auf den Server
ShadowByte
Hallo
Ich mache das mit folgendem Skript:
php: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
|
<?php
$now = time();
$diff = 5*86400;
$t = $now-$diff;
$old = date("d.m.y", $t);
if(file_exists("./dumps/".$old)) {
$handle = opendir("./dumps/".$old);
while ($file = readdir ($handle)) {
if ($file != ".." && $file != ".")
unlink("./dumps/".$old."/".$file);
}
rmdir("./dumps/".$old);
}
if(!file_exists("./dumps/".date("d.m.y"))) {
mkdir("./dumps/".date("d.m.y"));
chmod("./dumps/".date("d.m.y"), 0777);
}
exec("mysqldump -a -c -q -Q -f --add-drop-table --allow-keywords --password=GANZGEHEIM -h localhost -u DBUSER DATENBANKNAME | gzip -c > /www/htdocs/pfad/zum/Ordner/dumps/".date("d.m.y")."/sqldump_$(date \"+%d.%m.%y_%H.%M\").sql.gz");
?>
|
|
Es wird ein Ordner für jeden Tag erstellt und Ordner älter wie 5 Tage werden wieder gelöscht.
Ich habe im selben Ordner wie dieses Skript einen Ordner dumps/ mit den Attributen 0777.
Es ist auch dazu zu raten den Ordner wo das Skript drin per .htaccess zu schützen ....
Gruß
Agi
vielen Dank, super Support
Werds gleich mal ausprobieren
//Edit: Hmm also habs jetzt ausprobiert, alles so ausgefüllt, dass es korrekt sein sollte (Zugriffsdaten), er erstellt zwar nen Ordner mit dem heutigen Datum, aber keine DB Sicherung darin
ShadowByte
Haste auch hier in der Zeile alles richtig editiert ?
php: |
1:
|
exec("mysqldump -a -c -q -Q -f --add-drop-table --allow-keywords --password=GANZGEHEIM -h localhost -u DBUSER DATENBANKNAME | gzip -c > /www/htdocs/pfad/zum/Ordner/dumps/".date("d.m.y")."/sqldump_$(date \"+%d.%m.%y_%H.%M\").sql.gz"); |
|
Editieren mußt Du hier:
GANZGEHEIM
DBUSER
DATENBANKNAME
/www/htdocs/pfad/zum/Ordner/dumps/
Es kann natürlich auch sein, daß bei Dir exec() / system() usw. gesperrt ist....
kokolores
Supi-Idee... habs gleich ausprobiert... allerdings ist die erstellte Datei leer....
Agi
Zitat: |
Original von ShadowByte
Haste auch hier in der Zeile alles richtig editiert ?
php: |
1:
|
exec("mysqldump -a -c -q -Q -f --add-drop-table --allow-keywords --password=GANZGEHEIM -h localhost -u DBUSER DATENBANKNAME | gzip -c > /www/htdocs/pfad/zum/Ordner/dumps/".date("d.m.y")."/sqldump_$(date \"+%d.%m.%y_%H.%M\").sql.gz"); |
|
Editieren mußt Du hier:
GANZGEHEIM
DBUSER
DATENBANKNAME
/www/htdocs/pfad/zum/Ordner/dumps/ |
Ja hab ich, extra nochmal nachgeschaut
Zitat: |
Es kann natürlich auch sein, daß bei Dir exec() / system() usw. gesperrt ist.... |
werd meinen Server Admin mal danach fragen
kokolores
SO - hier gehts.... *kopfklatsch...*
nix LOCALHOST....... natürlich HOSTNAME von DB......
Agi
Zitat: |
Original von kokolores
SO - hier gehts.... *kopfklatsch...*
nix LOCALHOST....... natürlich HOSTNAME von DB......
|
und wo find ich den? ^^
kokolores
Schau mal in deine configinc.php im acp/lib-Verzeichnis:
$sqlhost = "xyz.de";
...oder ähnlich.
Agi
Zitat: |
Original von kokolores
Schau mal in deine configinc.php im acp/lib-Verzeichnis:
$sqlhost = "xyz.de";
...oder ähnlich. |
ja das ist localhost bei mir
naja geht noch immer nicht, werd den server admin morgen fragen, wegen dem
Dir exec() / system() usw
Gibts da vlt ne Möglichkeit, zu testen ob das geht oder nicht?
kokolores
Passiert GAR nix oder bekommt du ne leere Datei?
Das hier
"/www/htdocs/pfad/zum/Ordner/dumps/" muss man im Zweifel auch noch anpassen.....
bei mir wars /23856583224/blahblah/htdocs/..../../
EDIT:
Leere Datei erhalten -> Pfad stimmt, DB HostName war falsch
NIX -> Pfad zu /dumps stimmt nicht.
Agi
Zitat: |
Original von kokolores
Passiert GAR nix oder bekommt du ne leere Datei?
Das hier
"/www/htdocs/pfad/zum/Ordner/dumps/" muss man im Zweifel auch noch anpassen.....
bei mir wars /23856583224/blahblah/htdocs/..../../
EDIT:
Leere Datei erhalten -> Pfad stimmt, DB HostName war falsch
NIX -> Pfad zu /dumps stimmt nicht. |
ich erhalte nur nen ordner mti dem aktuellen Datum wo nix drinnen ist
Der Pfad zu dumps stimmt auch, hab ich getestet, seltsam ...