Wie verwende ich „rsync -R“ mit mehreren Unterverzeichnissen oder installiere „-D“ mit mehreren Dateien?

Wie verwende ich „rsync -R“ mit mehreren Unterverzeichnissen oder installiere „-D“ mit mehreren Dateien?

Ist es möglich, rsyncmehrere Dateien aus einem Quellverzeichnis in ein Zielverzeichnis mit mehreren nicht vorhandenen Unterverzeichnissen zu kopieren? Oder install -Dmit mehreren Dateien in ein nicht vorhandenes Verzeichnis zu verwenden?

Ich habe mir auch angesehen, cp --parentsaber den Namen des Quellverzeichnisses verwendet. Ist es möglich, cpein Zielverzeichnis auszuwählen, das nicht existiert, und alle Dateien nach der Erstellung dorthin zu kopieren?

Ich habe folgende Frage:Kopieren Sie eine Datei mit nur einem Befehl in ein Verzeichnis, das nicht existiert (Linux). Verbinden mit:Wie kann ich eine Datei kopieren und gleichzeitig die Zielverzeichnisse erstellen?

Aber die Lösungen zum Kopieren einer Datei sehen meiner Meinung nach etwa so aus:

cp /etc/*.conf ~/mytest/ 

wobei mytest nicht existiert und /etc/*.confmehr als eine Datei ist. Ist das mit möglich cpund mit nur einem Befehl ist es besser?

Antwort1

Versuchen Sie es mit rsyncdem Befehl:

rsync -av /etc/*.conf ~/mytest

Im Allgemeinen können Sie

rsync -av In/*conf Out/NewDir

Die Situation vorher ist:

In
├── d1.conf
├── d2.conf
├── d3.txt
├── Sub_In_1
└── Sub_In_2.conf
    └── SubIn2.Files

Out
└── Out_OldFiles

Nach dem Befehl wird

Out
├── NewDir
│   ├── d1.conf
│   ├── d2.conf
│   └── Sub_In_2.conf
│       └── SubIn2.Files
└── Out_OldFiles

In diesem Fall wählen Sie nicht nur allgemeine Dateien, *.confsondern auch das Verzeichnis aus Sub_In_2.conf. Sie kopieren die gesamte Auswahl (Dateien und Verzeichnis) in ein neu erstelltes Verzeichnis NewDirunterhalb des OutVerzeichnisses.

Die Option -aumfasst sogar die Option -r (Rekursion in Verzeichnisse).

  -a, --archive               archive mode; equals -rlptgoD (no -H,-A,-X)

Anmerkungen

  • Die rsyncrekursive Option ist-R(und nicht-R).
  • In cp-r und -R entsprechen derselben Option.
  • Die Option -vist nicht notwendig, sie gibt lediglich einige weitere Informationen.
  • Damit rsynckönnen Sie es sogar zwischen zwei verschiedenen Computern verwenden und host1sowohl den Quellhost als auch host2den Zielhost verwenden.

Der letzte Befehl ist

rsync  -av host1:InputDir host2:OutputDir/NewDirThatDidNotExists

verwandte Informationen