2010-08-23 10 views
15

Ich habe eine Verzeichnisstruktur und Dateien wie dieseRsync, wie man Verzeichnisse, aber keine Dateien einschließt?

data/ 
data/a.txt 
data/folder/ 
data/folder/b.txt 
data/folder/folder/ 
data/folder/folder/c.txt 
... 

a.txt, b.txt und c.txt sind große Dateien, die häufig computergenerierte und erneuert werden. Sie sollen nicht gesichert werden - aber ich will die Verzeichnisstruktur zu sichern:

data/ 
data/folder/ 
data/folder/folder/ 

Wie kann ich das mit rsync und --exclude-aus, ohne jeden Ordner angibt, aber so etwas wie rsync -a data/* --exclude-from=exclude.rsync "" --onlyfoldersandnotfiles""?

Dank für die Hilfe!

+0

Ich möchte meinen gesamten Server sichern. Auf meinem Server gibt es 80 GO Daten, aber 60 GO werden täglich erneuert, und diese 60 GO sind Dateien in vielen Unterverzeichnissen. Wenn ich die Verzeichnisstruktur nicht sichern, scheitern meine Skripts, die die Dateien erneuern, da sie erwarten, dass die Verzeichnisse vorhanden sind. Was ich will ist eine einzige rsync und exclude.rsync zum Sichern meines Servers! – chicama

Antwort

21

"Die beiden Argumente -f bedeuten" alle Verzeichnisse kopieren "und dann" nichts anderes kopieren "."

Weitere Informationen: http://psung.blogspot.com/2008/05/copying-directory-trees-with-rsync.html

+0

Eine wirklich brillante Lösung. Viel einfacher als das Kombinieren von '--include' und' --exclude' für den grundlegenden Gebrauch. –

+19

IMHO ist das viel besser lesbar: 'rsync -a --include = '* /' --exclude = '*' source/destination /' –

8
rsync -a --include='*/' --exclude='*' source/ destination/ 

Grundsätzlich sind zunächst alle Verzeichnisse ausschließen, dann alle Dateien.

Verwandte Themen