Rsync Optionen werden bei der Verwendung von xargs nicht übernommen
Hallo Community,
ich bekomme ein Problem mit xargs nicht gelöst.
Aufgrund von einem Netapp Problem, welches unsere IT nicht gelöst bekommt, muss ich Daten von der Linux Console immer 2x kopieren.
Um das zu vereinfachen, habe ich das immer mit seq gelöst.
Als Beispiel:
Das klappt auch ganz gut. Nun möchte ich aber bestimmte Dateien im Quellverzeichnis auslassen, sodass ich mir dachte, das geht ja mit rsync ganz gut.
Letzteres funktioniert aber nicht, weil sich xargs hier an den rsync optionen stört und das irgendwie falsch interpretiert.
Weiß jemand, warum das bei rsync passiert und bei cp nicht und wie ich das gelöst bekomme?
rsync wird zwar gestartet aber die Optionen werden komplett ignoriert.
Oder gibt es evtl noch einen eleganteren Weg?
ich bekomme ein Problem mit xargs nicht gelöst.
Aufgrund von einem Netapp Problem, welches unsere IT nicht gelöst bekommt, muss ich Daten von der Linux Console immer 2x kopieren.
Um das zu vereinfachen, habe ich das immer mit seq gelöst.
Als Beispiel:
seq 2 | xargs -I -- cp -rv foo_* /bar
Das klappt auch ganz gut. Nun möchte ich aber bestimmte Dateien im Quellverzeichnis auslassen, sodass ich mir dachte, das geht ja mit rsync ganz gut.
seq 2 | xargs -I -- rsync -av --progress --exclude '*.bla' foo_* /bar
Letzteres funktioniert aber nicht, weil sich xargs hier an den rsync optionen stört und das irgendwie falsch interpretiert.
Weiß jemand, warum das bei rsync passiert und bei cp nicht und wie ich das gelöst bekomme?
rsync wird zwar gestartet aber die Optionen
-av --progress --exclude '*.bla'
Oder gibt es evtl noch einen eleganteren Weg?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 1231302473
Url: https://administrator.de/contentid/1231302473
Ausgedruckt am: 24.11.2024 um 16:11 Uhr
7 Kommentare
Neuester Kommentar
Letzteres funktioniert aber nicht, weil sich xargs hier an den rsync optionen stört und das irgendwie falsch interpretiert.
Gebe einen definierten Ersetzungsstring dann lüppt dat auch wie gewünscht ...seq 2 | xargs -I{} rsync -av --progress --exclude '*.bla' foo_* /bar/
for x in 1 2 ;do rsync -av --progress --exclude '*.bla' foo_* /bar/ ;done
Aufgrund von einem Netapp Problem, welches unsere IT nicht gelöst bekommt, muss ich Daten von der Linux Console immer 2x kopieren.
Lustisch . Die IT vielleicht mal in den Urlaub schicken, macht den Kopf frei .
Kann ich nicht nachvollziehen, löppt hier einwandfrei auf nen cifs oder auch nfs share.
Ohne exakt verwendete Optionen von rsync und mount options des shares kann man da schlecht helfen.
nämlich das hinter jeder gesyncten datei, irgendein klamauk steht
Wo? Im Dateinamen oder in den Daten der Datei selbst?Ohne exakt verwendete Optionen von rsync und mount options des shares kann man da schlecht helfen.
an die for schleife hab ich auch schon gedacht, finde ich aber weniger elegant.
Hauptsache es funktioniert am Ende fehlerfrei .Zitat von @instinctless:
ändern an der Fehlermeldung leider auch nichts
rsync -av --progress --omit-dir-times --ignore-times --size-only --inplace --exclude '*.foobar' /foo /bar
ändern an der Fehlermeldung leider auch nichts
Wie oben schon geschrieben wäre es hier erst mal sinnvoll die benutzten mount options des shares aufzulisten statt uns hier rum raten zu lassen ...
Außerdem überprüfen ob der User Eigentümer der Dateien auf dem Ziel ist und überhaupt entsprechende Rechte hat diese zu (über)schreiben
Übrigens lassen sich 3 Kommentare auch zu einem zusammenfassen.