Mailinglist Archive: opensuse-de (1982 mails)

< Previous Next >
RE: Zum xten mal: Leerzeichen im Shellskript. Diesmal: rsync
  • From: "Laurenz, Dirk" <Dirk.Laurenz@xxxxxxxxxxxxxxxxxxx>
  • Date: Fri, 1 Dec 2006 09:33:15 +0100
  • Message-id: <D81E5F9261AA644D90FF7B8E400588179D3663@xxxxxxxxxxxxxxxxxxxx>
cat $DATEI | while read LINE
do
rsync [...] "$LINE" [...]
done

-----Original Message-----
From: Dominik Klein [mailto:dk@xxxxxxxxxxxxxxxx]
Sent: Friday, December 01, 2006 9:31 AM
To: opensuse-de@xxxxxxxxxxxx
Subject: Zum xten mal: Leerzeichen im Shellskript. Diesmal: rsync

Hallo Liste

ich möchte mit rsync ein Backup Skript bauen, das inkrementell (via
link-dest in rsync) Backups von mehreren Rechnern erstellen kann.

Die User sollen in einer Datei eine Liste mit Verzeichnissen ablegen.
Diese lese ich mit dem Skript und erstelle dann mit rsync eine Kopie
dieses Verzeichnisses auf den Backupserver.

Der Backupteil des Skripts sieht in etwa so aus:

...
while read $VERZEICHNIS
do
[sicherstellung, dass $VERZEICHNIS auf "/" endet]
rsync -Hav --link-dest=$GESTERN/$VERZEICHNIS \
$BENUTZER@$SERVER:$VERZEICHNIS $BACKUP/$VERZEICHNIS
done < $DATEI
...

Wenn jetzt $DATEI so aussieht:
-------
/etc
/home
/var/irgend etwas
-------

dann geht das für "/var/irgend etwas" schief.

man rsync sagt, man solle blanks mit einem "\" entwerten, das
führt aber
auch nicht zu dem gewünschten Erfolg. Dann wird in meinen Tests
zwar das
Verzeichnis kopiert, nicht aber der Inhalt.

Ein "sed 's/ /\ /g'" auf $VERZEICHNIS bringt ebenfalls keinen Erfolg,
genauso wenig wie "sed 's/ /\\ /g'". Im ersten Fall wird der Slash von
der Bash wieder interpretiert und ist beim umsetzen von $VERZEICHNIS in
dem rsync Befehl wieder weg, im zweiten Fall wird der Blackslash dann
tatsächlich Teil des Verzeichnisnamens. Das will ich auch nicht.

Den entwertenden Slash direkt in $DATEI zu schreiben, hab ich auch
versucht, bringt aber ebenfalls keinen Erfolg.

Hat irgend jemand eine Idee, was man da noch machen kann?

Danke schonmal
Dominik

*Haare rauf*
--
Um die Liste abzubestellen, schicken Sie eine Mail an:
opensuse-de+unsubscribe@xxxxxxxxxxxx
Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken
Sie eine Mail an: opensuse-de+help@xxxxxxxxxxxx
--
Um die Liste abzubestellen, schicken Sie eine Mail an:
opensuse-de+unsubscribe@xxxxxxxxxxxx
Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken
Sie eine Mail an: opensuse-de+help@xxxxxxxxxxxx

< Previous Next >
Follow Ups
References