webmaster resource
+ Webmaster Forum von Webmaster-Resource.de » Webcoding » Webserver (Moderator: Zabi)
|-+ Backup mit system()
Username:
Password:

Seiten: [1]
Topic Tools  
Read 29. Oktober 2006, 21:23:02 #0
Daniel

Backup mit system()

Hallo,

ich betreibe einen Windows 2K3 Server.

per system("c:/php/php.exe d:/server_script/backup.php?mode=all") möchte ich einen Backprozess starten.
Leider wartet PHP immer auf die Beendigung des system-Befehls. Dies ist unerwünscht.
(Da das Backup sehr lange dauern kann, brauche ich dafür eine Lösung.)

Per Cron-job (Windows-geplante Tasks) wird regelmäßig ein inkrementelles Backup erstellt.

Es ist für mich wichtig, vor Systemarbeiten ein voll-Backup zu erstellen.


Vielen Dank für Eure Anregungen.



Daniel


P.S. Das gleiche Problem habe ich auch auf meinem Linux-Server.


Offline  
Read 30. Oktober 2006, 17:11:27 #1
Zabi

Backup mit system()

Was willst du denn alles "backuppen" ?
Das komplette System ? Gewisse dateien ? Die Datenbank ?


Die Neugier steht immer an erster Stelle eines Problems, das gelöst werden will.
(Galileo Galilei)

www.zabulus.de
Offline  
Read 30. Oktober 2006, 19:23:54 #2
Daniel

Backup mit system()

Zitat von: Zabi
Was willst du denn alles "backuppen" ?
Das komplette System ? Gewisse dateien ? Die Datenbank ?


Ich muß den Datenbereich (meißt Bilder) und den Scriptbereich per WEB-Befehl sichern. Dies macht der Packer Rar (wegen Passwortsicherung). Die RAR-Files werden dann per FTP auf den Provider-FTP-Space kopiert.
Das Script dazu ist kein Problem, nur wie bringe ich die "Kugel" ins rollen? (per system()Zwinkernd.
Der Sicherungsvorgang dauert ca. 30 min (für 820MB). Das ist OK. Jedoch hat der Ordner mit den org. Bildern ca. 3GB.
Habe da inzwischen eine Möglichkeit gefunden (psexec.exe). Bin damit im Moment am testen.

Daniel


Offline  
Read 31. Oktober 2006, 08:32:38 #3
Zabi

Backup mit system()

Also nur nochmal zum Verständnis - du hast zu Hause einen Rechner - den du mit einem Provider Rechner "abgleichen>" willst ?


Die Neugier steht immer an erster Stelle eines Problems, das gelöst werden will.
(Galileo Galilei)

www.zabulus.de
Offline  
Read 31. Oktober 2006, 19:14:36 #4
Daniel

Backup mit system()

Zitat von: Zabi
Also nur nochmal zum Verständnis - du hast zu Hause einen Rechner - den du mit einem Provider Rechner "abgleichen>" willst ?


Hallo Zabi,

nein, ich will den "Provider-Server" auf dem Provider FTP-Backupspace  abgleichen. (STRATO und 1und1)
Bin jetzt aber schon ein Stück weiter:

--> start_backup.php
Code:

<?php
system
&#40;"c&#58;/server_shell/psexec.exe \\\\h97xxxx -u \"Administrator\" -p xxxxxxxxx -d cmd /c \"sleep -m 500000\""&#41;;
?>


Damit wird auf dem Server eine Shell gestartet, die 500sec schläft oder sonst etwas macht wie zum Beispiel mein gewünschtes Backup. Mein PHP-Script start_backup.php wird aber ganz normal beendet.(nach 0,0001 sec  Lächelnd )
Das Tool gibt es hier:
http://www.sysinternals.com/

Damit hätte ich jetzt die Möglichkeit von jedem PC der online ist, auch ohne RDP ein komplett-Backup zu starten.
Muss halt noch ein wenig basteln.

Hat vielleicht jemand schon Erfahrung mit dem Tool psexec.exe ?

Daniel


Offline  
Read 31. Oktober 2006, 20:45:06 #5
Zabi

Backup mit system()

Axo, ok. Also eine "einfache" Synchronistaion in eine Richtung... richtig ?
Ich verwende dafür unter Linux "rsync" für Windows gibt es einen Ableger - haben ihn jedoch noch nie getestet.

Falls du jedoch mit deinem Tool Erfolg haben solltest, wäre es schön wenn du deine Lösung hier postest ;-)
Ich denke  sowas kann man immer gebrauchen.


Die Neugier steht immer an erster Stelle eines Problems, das gelöst werden will.
(Galileo Galilei)

www.zabulus.de
Offline  
Read 05. November 2006, 15:31:42 #6
vind

Backup mit system()

Mal eben was ganz anderes, wie kann ich als Benutzer verhindern das PHP auf meinem system befehle ausführt?
Offline  
Read 05. November 2006, 17:05:12 #7
Daniel

Backup mit system()

Zitat von: vind
Mal eben was ganz anderes, wie kann ich als Benutzer verhindern das PHP auf meinem system befehle ausführt?


In der php.ini die Funktionen abschalten:
; This directive allows you to disable certain functions for security reasons.
; It receives a comma-delimited list of function names. This directive is
; *NOT* affected by whether Safe Mode is turned On or Off.
disable_functions = system , exec


Offline  
Read 05. November 2006, 18:02:24 #8
vind

Backup mit system()

Ja, aber ich meinte eigentlich als normaler Internetseitenbesucher.
Ich kann ja wenn ich eine Internetseite besuche nicht dessen ini files verändern Zunge.
Offline  
Read 05. November 2006, 18:55:53 #9
Daniel

Backup mit system()

Zitat von: vind
Ja, aber ich meinte eigentlich als normaler Internetseitenbesucher.
Ich kann ja wenn ich eine Internetseite besuche nicht dessen ini files verändern Zunge.


Als Besucher auf einer WebSite hast Du keine Möglichkeit Systembefehle auszuführen, es sei denn, der SiteAdmin hat dies für Besucher vorgesehen oder es bestehen gravierende Sicherheitslücken.


Offline  
Read 07. November 2006, 01:10:08 #10
T-Rex

Backup mit system()

Zitat von: vind
Mal eben was ganz anderes, wie kann ich als Benutzer verhindern das PHP auf meinem system befehle ausführt?


php kann bei dir keine Befehle ausführen.
Das wäre ja auch schlimm, dann könnte man webseiten programmieren die einfach so einen Windows Benutzer anlegen oder sowas. Dann wären Hacker arbeitslos und di Bundesargentur für Arbeit hätte eine höhere Quote. Und da wir genau dies nicht wollen kann php nicht einfach so mal eben was ausführen. Läuft alles Serverseitig und der Browser zeigt dir nur sachen an.
Offline  
Seiten: [1]
Gehe zu: