2009-03-30 5 views
5

Я хочу создать резервную копию всех скрытых файлов и каталогов в моем homedir с помощью rsync, но не не скрытых файлов и каталогов.Используйте 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.

ответ

6

общего шаблон, чтобы соответствовать скрытым элементам на .[^.]*

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

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

+0

Очень полезно. Я также могу использовать 'rsync -a source /[^.]* dest /' для синхронизации всех не скрытых файлов, исключая записи, такие как '.git'. –

0

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

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

10

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

(Что делать, если у вас есть файл, который был только «.»?)

+0

Это право. $ rsync -a ~ /.*/ путь/в/резервное копирование – ashawley

+0

Genius. Спасибо! –

Смежные вопросы