How do you get rsync to exclude any directory named cache?

17,660
rsync --exclude cache/ ....

should work like peaches. I think you might be confusing some things since -e requires an option (like -e "ssh -l ssh-user"). Edit on looking at your command lines a little closer, it turns out this is exactly your problem. You should have said

--exclude cache/ -e ssh

although you could just drop -e ssh since ssh is the default.


I'd also recommend that you look at the filter rules:

rsync -FF ....

That way you can include .rsync-filter files throughout your directory tree, containing things like

-cache/

This makes things way more flexible, make command lines more readable and you can make exceptions inside specific subtrees.

Share:
17,660
CMSCSS
Author by

CMSCSS

Updated on June 17, 2022

Comments

  • CMSCSS
    CMSCSS almost 2 years

    I'm new to rsync and have read a bit about excluding files and directories but I don't fully understand and can't seem to get it working.

    I'm simply trying to run a backup of all the websites in a server's webroot but don't want any of the CMS's cache files.

    Is there away to exclude any directory named cache?

    I've tried a lot of things over the weeks (that I don't remember), but more recently I've been trying these sorts of things:

    sudo rsync -avzO -e --exclude *cache ssh [email protected]:/home/ /Users/username/webserver-backups/DEV/home/
    

    and this:

    sudo rsync -avzO -e --exclude cache/ ssh [email protected]:/home/ /Users/username/webserver-backups/DEV/home/
    

    and this:

    sudo rsync -avzO -e --exclude */cache/ ssh [email protected]:/home/ /Users/username/webserver-backups/DEV/home/
    

    and this:

    sudo rsync -avzO -e --exclude *cache/ ssh [email protected]:/home/ /Users/username/webserver-backups/DEV/home/
    

    Sorry if this is easy, I just haven't been able to find info that I understand because they all talk about a path to exclude.

    It's just that I don't have a specific path I want to exclude - just a directory name if that makes sense.