non-rootserver: suchen und ersetzen von absolutem Pfad

Bash, Shell, PHP, Python, Perl, CGI
snoopy5
Posts: 4
Joined: 2005-05-20 11:36

non-rootserver: suchen und ersetzen von absolutem Pfad

Post by snoopy5 » 2005-05-20 11:47

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

User avatar
Joe User
Project Manager
Project Manager
Posts: 11604
Joined: 2003-02-27 01:00
Location: Hamburg

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

Post by Joe User » 2005-05-20 12:20

man sed

Code: Select all

sed -e 's@/old/path@/new/path@g' -i $file
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.

oxygen
RSAC
Posts: 2179
Joined: 2002-12-15 00:10
Location: Bergheim

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

Post by oxygen » 2005-05-20 12:29

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

captaincrunch
Userprojekt
Userprojekt
Posts: 7225
Joined: 2002-10-09 14:30
Location: Dorsten

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

Post by captaincrunch » 2005-05-20 12:41

vi erst recht. ;)
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc

chris76
Moderator
Moderator
Posts: 2015
Joined: 2003-06-27 14:37
Location: Germering

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

Post by chris76 » 2005-05-20 12:57

CaptainCrunch wrote:vi erst recht. ;)
Davon gehe ich aus wenn ich "besserer Texteditor" lese :wink:
SCNR
Gruß Christian

BofH excuses: YOU HAVE AN I/O ERROR -> Incompetent Operator error

snoopy5
Posts: 4
Joined: 2005-05-20 11:36

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

Post by snoopy5 » 2005-05-20 12:57

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

chris76
Moderator
Moderator
Posts: 2015
Joined: 2003-06-27 14:37
Location: Germering

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

Post by chris76 » 2005-05-20 12:58

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
Gruß Christian

BofH excuses: YOU HAVE AN I/O ERROR -> Incompetent Operator error

snoopy5
Posts: 4
Joined: 2005-05-20 11:36

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

Post by snoopy5 » 2005-05-20 15:13

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

User avatar
Joe User
Project Manager
Project Manager
Posts: 11604
Joined: 2003-02-27 01:00
Location: Hamburg

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

Post by Joe User » 2005-05-20 16:52

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
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.

snoopy5
Posts: 4
Joined: 2005-05-20 11:36

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

Post by snoopy5 » 2005-05-20 17:25

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

User avatar
Joe User
Project Manager
Project Manager
Posts: 11604
Joined: 2003-02-27 01:00
Location: Hamburg

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

Post by Joe User » 2005-05-20 19:45

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...
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.