Используйте rsync для копирования только скрытых файлов - PullRequest
6 голосов
/ 30 марта 2009

Я хочу создать резервную копию всех скрытых файлов и каталогов в моем домашнем каталоге с помощью rsync, но не скрытых файлов и каталогов.

Например, для данного каталога:

drwxr-xr-x   7 sophie  sophie  238 31 Mar 08:45 .
drwxr-xr-x  15 sophie  sophie  510 31 Mar 08:14 ..
-rw-r--r--   1 sophie  sophie    4 31 Mar 08:12 .foo
drwxr-xr-x   3 sophie  sophie  102 31 Mar 08:45 .hiddendir
drwxr-xr-x   4 sophie  sophie  136 31 Mar 08:13 VisibleDirectory
-rw-r--r--   1 sophie  sophie    9 31 Mar 08:13 VisibleFile

Я хочу сделать резервную копию .foo, .hiddendir и всего содержимого .hiddendir, независимо от того, скрыты они или нет. Я не хочу создавать резервную копию VisibleDirectory или VisibleFile.

Все заклинания, которые я придумал, создают резервную копию "." И, следовательно, всего его содержимого, включая VisibleFile и VisibleDirectory, и я не могу понять, как его исключить. Пожалуйста, помогите!

Я использую Mac OS X 10.5.6 (Leopard) и протокол rsync версии 2.6.9 версии 29.

Ответы [ 3 ]

11 голосов
/ 31 марта 2009

Обычно это ". ?? *", чтобы убедиться, что вы не копируете "." и ".."

(Что, если у вас был файл, который был просто ".a"?)

7 голосов
/ 31 марта 2009

Обычным шаблоном для поиска скрытых предметов является .[^.]*

rsync -a ~/.[^.]* /path/to/backup

Копирует все файлы, начиная с одной точки. Обратите внимание, что он не включает файлы, начинающиеся с более чем одной точки.

0 голосов
/ 30 марта 2009

Вы пробовали воплощения как ./.*?

Не могли бы вы скопировать скрытые файлы во временный каталог, сделать резервную копию временного каталога, а затем удалить его?

...