2009-03-30 41 views
5

rsyncを使用して私のhomedirのすべての隠しファイルとディレクトリをバックアップしたいが、非隠しファイルとディレクトリはバックアップしない。rsyncを使用して隠しファイルのみをコピーする

たとえば、このディレクトリリスト与えられた:私は.fooという、.hiddendir、およびそれらが隠されているかどうか.hiddendirないのすべての内容をバックアップしたい

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 

を。私はVisibleDirectoryやVisibleFileをバックアップしたくありません。

私はすべての呪文をバックアップしてくれました。 "したがって、VisibleFileとVisibleDirectoryを含むすべてのコンテンツは除外されています。助けてください!

私は、Mac OS X 10.5.6(Leopardの)を使用してrsyncのバージョン2.6.9プロトコルバージョン29

答えて

6

隠されたアイテムと一致するように、一般的なパターンが.[^.]*

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

このコピーしたすべてのファイルであります1つのドットから始まります。複数のドットで始まるファイルは含まれていないことに注意してください。

+0

非常に役に立ちます。私は 'rsync -a source /[^.]* dest /'を使って、 '.git'のようなエントリを除いて隠されていないファイルをすべて同期させることもできます。 –

0

よあなたが./.*のような化身を試みたことがありますか?

一時ディレクトリに隠しファイルをコピーし、一時ディレクトリをバックアップしてから削除できますか?

10

"。?? *"はコピーしないようにしてください。そして、「..」

(あなただけの「.A」だったファイルがあった場合はどう?)

+0

これは正しいです。 $ rsync -a〜/.??*/path/to/backup – ashawley

+0

Genius。ありがとうございました! –