php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger

PHP Einsteiger PHP Problemlösungen für Spracheinsteiger
Archive: 2004, 2004/2, 2005, 2005/2, 2006, 2007, 2008, 2009, 2010,

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 01.12.2011, 23:30  
Neuer Benutzer
 
Registriert seit: 23.08.2011
Beiträge: 28
PHP-Kenntnisse:
Anfänger
Mr_Brox befindet sich auf einem aufstrebenden Ast
Standard Mit shell_exec() Backup eines Serves durchführen

Hallo,

ich bin gerade dabei ein Webinterface für meinen Linux V-Server zu basteln. Ich lasse dort das WI und einen Minecraft Server laufen der mit einer ./server.sh den Server starten, stoppen, reloaden und backupen kann. Wenn ich in PuTTY ./server.sh backup mache, erstellt er mir ein Backup in einen Ordner. Nun möchte ich mit shell_exec(); die Datei per PHP ausführen damit ein Backup erstellt wird so wie ich es derzeit mit PuTTY mache. Ich bekomme eine Meldung, dass das Skript nun ein Backup macht, passieren tut aber nichts. Nur über PuTTY läuft das ganze. Was mache ich falsch ? Kann es vielleicht daran liegen, dass der BackUp Ordner wo die Backups gespeichert werden nicht unter dem Benutzer root sondern über den Benutzer minecraft läuft genauso wie die ./server.sh

Wenn ich die ./server.sh mit diesem Skript ausführe
PHP-Code:
<?php
 
echo shell_exec('/home/minecraft/25565/server.sh backup');
?>
bekomme ich das, was ich auch bekomme wenn ich bei PuTTY das ganze mache:
Code:
craftbukkit.jar is running... suspending saves Backing up minecraft world... Backed up world Backing up craftbukkit.jar Backup complete craftbukkit.jar is running... re-enabling saves
Bloß bei PuTTY wird wenigstens ein Backup angelegt. Hier aber nicht.

Danke schonmal im Voraus
Mr_Brox ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 01.12.2011, 23:32  
Erfahrener Benutzer
 
Benutzerbild von Dark Guardian
 
Registriert seit: 10.10.2009
Beiträge: 2.630
PHP-Kenntnisse:
Fortgeschritten
Dark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekannt
Standard

Hat der PHP Prozess/Benutzer Schreibrechte auf dem Zielordner wo das Backup angelegt werden soll?
__________________
"Alles im Universum funktioniert, wenn du nur weißt wie du es anwenden musst".

Geändert von Dark Guardian (01.12.2011 um 23:42 Uhr).
Dark Guardian ist offline   Mit Zitat antworten
Alt 01.12.2011, 23:41  
Neuer Benutzer
 
Registriert seit: 23.08.2011
Beiträge: 28
PHP-Kenntnisse:
Anfänger
Mr_Brox befindet sich auf einem aufstrebenden Ast
Standard

Wo kann ich das festlegen bzw. überprüfen ? Fals du CHMOD meinst, der steht auf 0777
Mr_Brox ist offline   Mit Zitat antworten
Alt 02.12.2011, 00:38  
Erfahrener Benutzer
 
Benutzerbild von Dark Guardian
 
Registriert seit: 10.10.2009
Beiträge: 2.630
PHP-Kenntnisse:
Fortgeschritten
Dark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekannt
Standard

Zitat:
Zitat von Mr_Brox Beitrag anzeigen
Wo kann ich das festlegen bzw. überprüfen ? Fals du CHMOD meinst, der steht auf 0777
Der Befehl chmod setzt die Zugriffsrechte. 777 steht hierbei für Vollzugriff.

Prüf mal mit is_dir(), is_writeable() o.Ä. ob PHP wirklich Schreibrechte auf dem Verzeichnis hat wo das Backup landet.

Ist die Pfadangabe absolut oder relativ zum Arbeitsverzeichnis? Wenn die Angabe relativ zum Arbeitsverzeichnis ist versucht dein Shellscript das Backup ggf. irgendwo abzulegen wo du es nicht vermutest.
__________________
"Alles im Universum funktioniert, wenn du nur weißt wie du es anwenden musst".
Dark Guardian ist offline   Mit Zitat antworten
Alt 02.12.2011, 20:46  
Neuer Benutzer
 
Registriert seit: 23.08.2011
Beiträge: 28
PHP-Kenntnisse:
Anfänger
Mr_Brox befindet sich auf einem aufstrebenden Ast
Standard

Moment, kann ich einfach mit is_writeable('../../home/minecraft/25565/backups'); prüfen ob der Ordner beschreibbar ist ? Ich meine da ja der Apache Server doch nicht aus dem Verzeichnis /var/www raus kann oder nicht ?

Die Seite braucht übrigens lange beim laden mit dem Backup per PHP. Ungefähr solange als würde das Backup über PuTTY angelegt werden. Ich glaube schon das es angelegt wird. Aber wo, ist hier die Frage.

Gibt es da Anlaufstellen wo ich suchen könnte ? Also mögliche Ordner ?
Mr_Brox ist offline   Mit Zitat antworten
Alt 03.12.2011, 01:37  
Erfahrener Benutzer
 
Benutzerbild von Dark Guardian
 
Registriert seit: 10.10.2009
Beiträge: 2.630
PHP-Kenntnisse:
Fortgeschritten
Dark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekannt
Standard

Zitat:
Zitat von Mr_Brox Beitrag anzeigen
Moment, kann ich einfach mit is_writeable('../../home/minecraft/25565/backups'); prüfen ob der Ordner beschreibbar ist ? Ich meine da ja der Apache Server doch nicht aus dem Verzeichnis /var/www raus kann oder nicht ?
Der PHP Interpreter kann ggf. aus dem Verzeichnis nicht raus. Das ist aber eine Frage der Konfiguration des Servers. Prinzipiell kannst du mit der Funktion aber jedes Verzeichnis prüfen, dafür ist sie ja da. Wenn deine Konfiguration keinen Zugriff erlaubt erhälst du eben ein entsprechendes Ergebnis.

Zitat:
Die Seite braucht übrigens lange beim laden mit dem Backup per PHP. Ungefähr solange als würde das Backup über PuTTY angelegt werden. Ich glaube schon das es angelegt wird. Aber wo, ist hier die Frage.
getcwd() liefert dir das aktuelle Arbeitsverzeichnis falls die Backups relativ zu diesem erzeugt werden wovon aber wohl nicht auszugehen ist.
__________________
"Alles im Universum funktioniert, wenn du nur weißt wie du es anwenden musst".
Dark Guardian ist offline   Mit Zitat antworten
Alt 03.12.2011, 16:50  
Erfahrener Benutzer
 
Registriert seit: 10.01.2010
Beiträge: 386
PHP-Kenntnisse:
Fortgeschritten
ChrisvA befindet sich auf einem aufstrebenden Ast
Standard

Nur mal so eine Frage?
Ist error_reporting auf E_ALL eingestellt?
Werden Fehler angezeigt?
Versuch doch mal das Shellskript so abzuändern, dass es einfach nur eine Datei erstellt. Dann weißt du ob es überhaupt aufgerufen wird.

Nur so eine Idee:
Das Problem mit dem Arbeitsverzeichnis sollte doch eigentlich gelöst sein, falls man das Skript nicht mit direkt ausführt, sondern mit dem sh Pfad Kommando. Das sollte sich doch nicht um die PHP Beschränkungen kümmern.

PS: Kann man eigentlich ein bestimmtes Thema abonnieren, ohne auf es zu antworten?
ChrisvA ist offline   Mit Zitat antworten
Alt 03.12.2011, 16:58  
Neuer Benutzer
 
Registriert seit: 24.04.2011
Beiträge: 5
PHP-Kenntnisse:
Fortgeschritten
mySeb befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von ChrisvA Beitrag anzeigen
PS: Kann man eigentlich ein bestimmtes Thema abonnieren, ohne auf es zu antworten?
Oben beim Ersten-Post auf "Themen-Optionen" und dort die unterste Option ist "Dieses Thema abonnieren".
__________________
Gruß,
mySeb
mySeb ist offline   Mit Zitat antworten
Alt 23.12.2011, 23:08  
Neuer Benutzer
 
Registriert seit: 23.08.2011
Beiträge: 28
PHP-Kenntnisse:
Anfänger
Mr_Brox befindet sich auf einem aufstrebenden Ast
Standard

Ein bischen dumm von mir das ich mich nicht mehr gemeldet habe. Also ich habe jetzt einfach mal
PHP-Code:
<?php echo exec('whoami'); ?>
gemacht und bekam das als Antwort:
www-data

Ich muss aber als root eingeloggt sein um Server stoppen und zu starten. Wie wechsle ich zu einem anderen Benutzer ?
Mr_Brox ist offline   Mit Zitat antworten
Alt 23.12.2011, 23:17  
Erfahrener Benutzer
 
Registriert seit: 10.01.2010
Beiträge: 386
PHP-Kenntnisse:
Fortgeschritten
ChrisvA befindet sich auf einem aufstrebenden Ast
Standard

also auf der Konsole geht das mit sudo.
Kann ich aber nicht empfehlen dein root-Pass in ein PHP skript zu schreiben.
ChrisvA ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Hilfe: zu großes SQL Backup? chasingrainbows Datenbanken 4 12.09.2011 14:31
403 nach Backup Ind3X PHP Einsteiger 7 09.02.2011 18:57
Unkomplizierteste Gratis Backup Image Software strgg Off-Topic Diskussionen 0 30.11.2009 20:57
[Erledigt] DB Backup + löschen von Datensätzen in der Live-Tabelle älter als x Monate taurus Datenbanken 11 13.10.2009 17:25
MYSQL Tabelle -> backup und damit andere DB updaten gamerphil PHP Tipps 2009 2 21.03.2009 20:09
[Erledigt] Backupscript für DB Backup netti PHP Tipps 2008 3 23.06.2008 16:46
Mysql Backup im richtigem Format rbs_phoenix Datenbanken 10 13.05.2008 22:22
Backup Script tomtaz PHP Tipps 2006 9 29.06.2006 09:22
Backup Probleme nach Hack Datenbanken 3 25.09.2005 15:19
Suche jemanden für Backup... Beitragsarchiv 17 28.07.2005 08:10
Datenbank Backup PHP Tipps 2005-2 2 26.06.2005 21:49
[Erledigt] DB Backup und info PHP Tipps 2005-2 21 09.06.2005 23:14
sicheres Backup für Kunden Datenbanken 16 18.05.2005 23:02
Automatisches Datenbank backup PHP Tipps 2005 3 15.03.2005 16:24
Also ich suche ein php skript für backup einer tabelle PHP Tipps 2004 4 23.07.2004 00:06

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
shell_exec minecraft, putty server backup starten, .sh backup script per php ausführen, minecraft chrisva, shell_exec schreibrechte

Alle Zeitangaben in WEZ +2. Es ist jetzt 16:27 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum