Problem:
Z.B. falls man einen Server bestellt hat, will man alle Dateien von einem auf den anderen transferieren. Dabei nennen wir jetzt mal die Server <code>server_alt.decode> und <code>server_neu.decode>.
Das größte Problem ist meißt (gerade bei Webauftritten): Wie bleiben die Benutzerrechte erhalten?
Die std. Antwort lautet i.d.R.: Erst mit <code>tarcode> ein Paket packen.
Dazu muß man beachten, daß der Datei-User als UID (User-ID) eingetragen ist. Diese bestehende UID wird aber in den meisten Fällen von der neuen UID abweichen. Ein <code>chowncode> ist i.d.R. immer nochmal angesagt. Ein <code>chmodcode> (also die Schreibrechte) hingegen wird immer mit gespeichert.
Lösungen:
Hier werden nun 3 Möglichkeiten vorgestellt. Meistens sollte man auf die <code>scpcode> zurückgreifen, da dies die schnellste und einfachste ist.
1. Transfer über Web (http)
#auf server_alt.de: cd /ein/httpdocs/verzeichnis/ #evtl. vorher die Dateien packen: tar -czf gepackt.tgz *
#auf server_neu.de: cd /in/das/ziel/verzeichnis/ wget http://server_alt.de/gepackt.tgz tar -xzf gepackt.tgz
Der Aufwand ist relativ hoch, da man auf beiden Server arbeiten muß.
2. Transfer per FTP
Einzelne Dateien übertragen:
#auf server_neu.de: cd /ziel/verzeichnis ftp server_alt.de # [username] & [password] eingeben get dateiname.tgz quit
Nachteil: viel Tiparbeit.
Vorteil: Die Benutzerrechte werden bereits korrekt übernommen.
Brauchbar, wenn man nur einzelne Dateien (z.B. Tarballs) schnell holen will.
3. Transfer per scp
Der einfachste und schnellste Weg:
#auf server_alt.de: scp /var/www/domain.de/httpdocs/* root@server_neu.de:/var/www/domain.de/httpdocs/ #oder auf server_neu.de: scp root@server_alt.de:/var/www/domain.de/httpdocs/* /var/www/domain.de/httpdocs/
Nachteil:
Auf <code>server_neu.decode> muß noch ein <code>chowncode> durchgeführt werden. (Nicht, wenn der neue User Shell-Rechte hat und man im scp statt <code>rootcode> den User eintragen kann.)
Empfehlen kann man diese Methode vorallem für Datenbank-Dumps und alle Dateien, die nicht von Dritten gelesen werden dürfen (z.B. Zertifikate), da die Übertragung verschlüsselt stattfindet.