linux-l: Allgemein: Shell-Skripte

Frank Reker frank at reker.net
Fr Aug 31 14:46:02 CEST 2001


Am Fri 31. Aug 2001 12:21 +0200 schrieb Elmer St?wer:

>> -----Original Message-----
>> From: Steffen Solyga [mailto:solyga at absinth.net]
>...
>> 
>> #!/bin/sh
>> rcp -rp axi-kiste:/ir/gend/was/ /was/anderes/Backup/`date +%A`
>Das ist ja fast zu einfach;) So wird es erstmal gehen ('date +%A find ich
>gut, wie kommt man auf so was?).

hier noch eine L"osung mit ssh (f"ur mehr Sicherheit):
ssh -l <user> <host> cat <remote-datei> > <lokale-datei>
das > wird von der lokalen shell interpretiert.
bei grossen Dateien und langsamen Verbindungen kann mans auch noch
durch gzip jagen:
ssh -l <user> <host> cat <remote-datei> \| gzip -c | gunzip -c > \
	<lokale-datei>
Vorsicht: die erste Pipe muss gequotet werden \| damit sie remote
ausgef"uhrt wird. Die zweite soll lokal ausgef"uhrt werden, und sollte
daher nicht gequotet sein.
Das einzige Problem, du musst es mit jeder einzelnen Datei machen.

Oder folgendes:
ssh -l <user> <host> find <remotedir>/ -name \\\* -print \| \
	cpio -o -H crc \| gzip -c | gunzip -c | cpio -i -H crc -d
Damit packst du ein komplettes Verzeichnis mit cpio in ein Archiv,
komprimierst es mit gzip, entkomprimierst es lokal wieder mit 
gunzip und entpackst es mit cpio.
cpio hat im Ggs zu tar den Vorteil, das es von stdin lesen kann
und auch wieder nach stdout schreiben, so dass du keine Dateien
auf dem remote Rechner anlegen musst. Das -H crc benutzt das 
SVR4 crc (checksum) format, damit hasst  du mehr Sicherheit,
dass deine Dateien korrekt ankommen.
Achte auch auf die 3 backslashes \\\* - Die sind wichtig!
Damit die remote shell das * nicht interpretiert, sondern
erst find muss es gequotet werden also \*
Damit jetzt aber die lokale shell das backslash und den Stern
nicht interpretieren muessen beide nochmal gequotet werden also
\\ fuer den backslash und \* fuer den Stern. Ergibt zusammen \\\*
Mit -V beim cpio erh"alst du auch noch einen Fortschrittsbalken ;-)


-- 
Don't worry, be happy...
Ciao tex
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : nicht verfügbar
Dateityp    : application/pgp-signature
Dateigröße  : 232 bytes
Beschreibung: nicht verfügbar
URL         : <https://mlists.in-berlin.de/pipermail/linux-l-mlists.in-berlin.de/attachments/20010831/a161815d/attachment.sig>


Mehr Informationen über die Mailingliste linux-l