Dateien von RechnerB tar und holen (auf RechnerA) [gelöst]
Dateien von RechnerB tar und holen (auf RechnerA) [gelöst]
Hallo,
wie muss ich einen tar-Befehl mit ssh oder scp verknüpfen, um von RechnerB 2 Dateien zu einem tar zusammen zufassen und auf RechnerA zu kopieren. Das ganze soll natürlich von RechnerA aus geschehen.
(Die ssh-Schlüssel sind natürlich hinterlegt )
Danke.
wie muss ich einen tar-Befehl mit ssh oder scp verknüpfen, um von RechnerB 2 Dateien zu einem tar zusammen zufassen und auf RechnerA zu kopieren. Das ganze soll natürlich von RechnerA aus geschehen.
(Die ssh-Schlüssel sind natürlich hinterlegt )
Danke.
Zuletzt geändert von Duff am 08.11.2007 15:33:35, insgesamt 1-mal geändert.
Oh, yeah!
Ungefähr so müsste es gehen...
Wenn tar ohne f-Option auf Stdout ausgibt und nicht auf $TAPE, können das f ind das Minus entfallen. Ich halte es aber für sicherer, durch "f -" stdout zu erzwingen, denn wer weiß, ob morgen eine neue Version anders reagiert oder $TAPE gesetzt ist...
Code: Alles auswählen
ssh rechnerB tar cf - datei1 datei2 >TarFileAufLokalemRechner.tar
Danke, dass ganze funktioniert soweit.
Nur macht mich diese Fehlermeldung hier ein wenig stutzig:
Nur macht mich diese Fehlermeldung hier ein wenig stutzig:
Code: Alles auswählen
tar: /file/auf/rechnerB: file changed size
Oh, yeah!
Ist das ein Logfile, daß während des TARens weiter wächst?Duff hat geschrieben:Code: Alles auswählen
tar: /file/auf/rechnerB: file changed size
Ja, sorry.yeti hat geschrieben:Ist das ein Logfile, daß während des TARens weiter wächst?Duff hat geschrieben:Code: Alles auswählen
tar: /file/auf/rechnerB: file changed size
Es geht um logfiles, die gesichert werden sollen und die beim taren weiterwachsen können.
Oh, yeah!
Komme irgendwie nicht weiter.
Und zwar möchte ich folgendes machen:
Wie muss ich das Umschreiben, dass das ganze mit meinen Variablen funktioniert?
Der egrep-Befehl mit der Variablen funktioniert so nicht.
Ist dies überhaupt bei einem Shell-Skript möglich?
[edit]
Habe den Fehler doch noch finden können.
Lag an den Einfachen Hochkommatas. Diese müssen durch " ersetzt werden!
[/edit]
Und zwar möchte ich folgendes machen:
Code: Alles auswählen
spath="/mein/pfad"
app="appname"
DIRECTORY=`/usr/bin/ls ${spath} | /usr/bin/egrep '^${app}.+?[^\.][0-9]+$'`
Der egrep-Befehl mit der Variablen funktioniert so nicht.
Ist dies überhaupt bei einem Shell-Skript möglich?
[edit]
Habe den Fehler doch noch finden können.
Lag an den Einfachen Hochkommatas. Diese müssen durch " ersetzt werden!
[/edit]
Oh, yeah!
yeti hat geschrieben:Ungefähr so müsste es gehen...Wenn tar ohne f-Option auf Stdout ausgibt und nicht auf $TAPE, können das f ind das Minus entfallen. Ich halte es aber für sicherer, durch "f -" stdout zu erzwingen, denn wer weiß, ob morgen eine neue Version anders reagiert oder $TAPE gesetzt ist...Code: Alles auswählen
ssh rechnerB tar cf - datei1 datei2 >TarFileAufLokalemRechner.tar
Kann ich auch die Dateien irgendwie in tar so speichern, dass diese nicht den kompletten Pfadnamen haben?
Ich muss auf dem rechnerB den kompletten Pfad zur Datei angeben, die gesichert werden soll. Möchte ich diese nun wieder entpacken, so wird diese unter dem kompletten Pfad auch wieder zurückgesichert bzw. der Pfad wird auf einem anderen System komplett so angelegt.
Oh, yeah!
Habe es nun nach langem Suchen und Probieren endlich herausgefunden bzw. habe es so gelöst:
Code: Alles auswählen
ssh rechnerB"cd /mein/Pfad/; find . \( -name log1.log -o -name log2.log \) -print | xargs tar cvf - " > test.tar
Oh, yeah!
Danke, dass hatte ich auch schon probiert. Wollte bei mir aber nicht so ganz funktionieren.yeti hat geschrieben:...schau Dir mal die C-Option (großes C) von TAR an...
Ich habe auch irgendwie das Problem beim Entpacken, dass ich ich es nicht hinbekomme, die Dateien zum Auspacken in ein neu erstelltes Vezeichnis zu Packen.
Oh, yeah!