Page 1 of 1

non-rootserver: suchen und ersetzen von absolutem Pfad

Posted: 2005-05-20 11:47
by snoopy5
Hallo,

ich mache gerade einen Serverumzug von 1&1 zu Schlund. Bei Schlund ist es ein Ready to run Server (kein root server).

Ich habe per ssh schon alle Dateien & directories auf den neuen Server rüberkopiert (scp*).

Jetzt suche ich nach einer Möglichkeit, den alten absoluten Pfad (des alten Servers) auf dem neuen Server mit einem Script automatisch zu suchen und gegen den neuen absoluten Pfade des neuen Server auszutauschen.

Da es über 70 verschiedenen Installationen sind, ist das manuell zu viel Arbeit.

Weiss jemand dafür ein script? Ich habe keine PHP oder sonstige Programmiererfahrung. Es sollte also etwas Idiotensicheres sein :)

Danke im Voraus

Re: non-rootserver: suchen und ersetzen von absolutem Pfad

Posted: 2005-05-20 12:20
by Joe User
man sed

Code: Select all

sed -e 's@/old/path@/new/path@g' -i $file

Re: non-rootserver: suchen und ersetzen von absolutem Pfad

Posted: 2005-05-20 12:29
by oxygen
Jeder bessere Texteditor, z.B. Textedit oder Ultraedit kann das auch.

Re: non-rootserver: suchen und ersetzen von absolutem Pfad

Posted: 2005-05-20 12:41
by captaincrunch
vi erst recht. ;)

Re: non-rootserver: suchen und ersetzen von absolutem Pfad

Posted: 2005-05-20 12:57
by chris76
CaptainCrunch wrote:vi erst recht. ;)
Davon gehe ich aus wenn ich "besserer Texteditor" lese :wink:
SCNR

Re: non-rootserver: suchen und ersetzen von absolutem Pfad

Posted: 2005-05-20 12:57
by snoopy5
Hallo,

Danke erst einmal für die schnellen antworten.

"Jeder bessere Texteditor, z.B. Textedit oder Ultraedit kann das auch."

das ist mir klar. Aber ich suche nach einer Möglichkeit dieses dierkt auf dem neuen server zu machen. Ich will nicht tausende von files erst downloaden und dann einzeln öffnen um suchen/ersetzen auszuführen.


"sed -e 's@/old/path@/new/path@g' -i $file"

wo wende ich das an? Ã?ffne ich mit Putty SSH und gebe das einfach als code ein und drücke die return taste?

Was bedeutet "man sed" ? Muss ich das auch irgendwo eintippen?

Danke im Voraus

Re: non-rootserver: suchen und ersetzen von absolutem Pfad

Posted: 2005-05-20 12:58
by chris76
snoopy5 wrote: Was bedeutet "man sed" ? Muss ich das auch irgendwo eintippen?

Danke im Voraus
ja
tippe

Code: Select all

man sed
ein und drücke enter
dann verstehst du auch die Kommandozeile die dir Joe gepastet hat

Re: non-rootserver: suchen und ersetzen von absolutem Pfad

Posted: 2005-05-20 15:13
by snoopy5
mmmmhhh,

habe mir das angeschaut, bin aber ein wenig lost...

deswegn frage ich lieber nochmal nach, befor ich irgendetwas kaputt mache.

das war der vorgeschlagene code:

sed -e 's@/old/path@/new/path@g' -i $file


das ist ein beispiel des alten absoluten Pfades:

/homepages/8/d111111/htdocs/ordner1


das ist ein beispiel des neuen absoluiten pfades:

/homepages/9/d222222/htdocs/ordner1

sollte ich dann das mit putty so eintippen:

sed -e 's@/homepages/8/d111111/htdocs@/homepages/9/d222222/htdocs@g' -i $file

wäre das so korrekt?

Würde es alle files - egal wie tief sie in den directories drinstecken - so dann kontrollieren und abändern?

Danke im Voraus

Re: non-rootserver: suchen und ersetzen von absolutem Pfad

Posted: 2005-05-20 16:52
by Joe User
ACHTUNG: So wie es unten steht, kann und wird es zu Datenverlusten kommen! Backup anlegen!:

Code: Select all

for file in `grep -l -r "/homepages/8/d111111/" / `; do sed -e 's@/8/d111111/@/9/d222222/@g' -i ${file}; done
man sed
man grep
man bash

Re: non-rootserver: suchen und ersetzen von absolutem Pfad

Posted: 2005-05-20 17:25
by snoopy5
Joe User wrote:ACHTUNG: So wie es unten steht, kann und wird es zu Datenverlusten kommen! Backup anlegen!:

Code: Select all

for file in `grep -l -r "/homepages/8/d111111/" / `; do sed -e 's@/8/d111111/@/9/d222222/@g' -i ${file}; done
man sed
man grep
man bash
ähhhmmm verstehe ich das richtig: dise von Dir beschriebene code führt SICHER zu einem Datenverlust????

welche Daten gehen denn dabei verloren? Gibt es keine suchen/erstezn funktion, die datenverlust vermeidet?

Was bringt mir eine erstzen funktion, wenn meine foren danach nicht mehr voll funktioneiren oder anderes fehlt?

Danke im Voraus für eine schnelle antwort

Re: non-rootserver: suchen und ersetzen von absolutem Pfad

Posted: 2005-05-20 19:45
by Joe User
Ohne zu wissen, in welchen Dateien/Pfaden die Ersetzungen vorzunehmen sind, kann man/ich nur eine allgemeine Routine posten, welche vom Interessierten, also Dir, selbst anzupassen ist. Die entsprechende Dokumentation wurde von mir bereits genannt, lesen und verstehen muss sie der Interessierte, also Du, jedoch selbst. Und selbst wenn nun jemand eine angepasste Routine posten sollte, würdest Du sie mangels gelesener Dokumentation nicht verstehen. Verstehe mich nicht falsch, ich helfe Dir gerne, aber ohne Eigeninititive Deinerseits geht es nicht, sorry...