Duncan
Duncan

Reputation: 226

rsync, ignore root synchronised directory hidden files

I'm trying to make snapshot backups of my user using rsync, the base user folder has a ton of hidden files and configurations that I'm not interested in backing up, however I am interested in the hidden folders inside of it's subdirectories.

Here is the layout

Source Directory
/Base
    .ignore
    .ignore2
    .ignore3
    /dir1
        .keep
        normalfiles
    /dir2
        .keep
        normalfiles

Desired Backup Directory
/Backup
    /dir1
        .keep
        normalfiles
    /dir2
        .keep
        normalfiles

How can I ignore the first hidden files AND directories while preserving them in the subdirectories.

Solution

rsync -vrn --exclude="/.*" base/ base2/

By specifying the / before the file match /.* I managed to achieve what I was after. I have found this to be pretty useful when making snapshot backups of some mac's in my house. They tend to store tons of config information in the root folder for each user that isn't needed for my backups.

The hidden files for my own project configs and rc's is saved though since they aren't stored in the root directory.

Upvotes: 0

Views: 1522

Answers (1)

Zack
Zack

Reputation: 51

I can not found "hidden folders inside of it's subdirectories" in your Code sample. Do you mean hidden files?

Here is a try:

rsync -nrv --include="/*/" --include="*/.*" --exclude="*" Base/ Base2/

-n simulate -r recursive -v verbose

Upvotes: 1

Related Questions