excludes

jw schultz jw at pegasys.ws
Thu Feb 5 01:02:24 GMT 2004


On Wed, Feb 04, 2004 at 04:33:20PM -0800, tim wrote:
> 
> 
> Kevin Moschallski wrote:
> >Hi i tried to use rsync to backup my remote server.I want to exclude
> >folder like /var /proc ... .I use --exlude-from=/etc/rsync/excludes
> >the file looks like this:
> >
> >- */var/*
> >- */proc/*
> >
> >etc.
> >
> >My problem is that i run vservers on this machine and i don't want that
> >the folder like /proc in this vservers are backuped how can i exclude
> >all paths wich contain such foldernames?
> 
> When using rsync to maintain incremental backups significant space can be
> saved on the backup server by excluding directories that have non-critical
> or transient data such as /tmp, /proc, /mnt, /cdrom, object and backup
> files, and caches.  The problem is getting rsync to include the directory
> name but exclude its contents, a condition not clearly covered in rsync(1),
> EXCLUDE PATTERNS.

That isn't difficult nor do i find it to be poorly explained
in the current manpage.

To exclude the contents of a directory such as /tmp but
still make the directory just exclude "/tmp/*"  There is no
need to explicitly include it unless another pattern would
match.  If you want to do the same for all directories named
cache wherever they are in the tree exclude "**/cache/*"

A trailing ** has excactly the same effect as a trailing *

> 
> I use a separate backup server and pull from LAN clients but any model
> should work.  To test, add '-n -vv' to your rsync command and grep for 
> exclude and include statements.  Feedback: rsync at nsr500 dot net.
> 
> Remote client example:
>    rsync -nvva --stats --delete --exclude-from=<file> -e ssh \
>    <client>:/ /<rsync_dir>/<client>/ | egrep '^excl|^incl'
> 
> The following rsync exclude file works on my RH 7.3 (2.4.23) and RH 6.2
> (2.2.25) based systems for rsync 2.5.4.  You may want to edit to suit
> your specific needs.

Most of your + lines could be dropped.  I left the coments
in place.

> 
> ### BEGIN rsync exclude file
> ### directory entries, no directory contents
> ### tmp, anywhere in tree ###
> + tmp/
> - **/tmp/**
> ### transient, from root (/) ###
> + /proc/
> - /proc/**
> + /mnt/
> - /mnt/**
> + /cdrom/
> - /cdrom/**
> + /tmpfs/
> - /tmpfs/**
> ### cache, anywhere in tree ###
> # mozilla
> + Cache/
> - **/Cache/**
> # ccache.samba.org
> + ccache/
> - **/ccache/**
> + .ccache/
> - **/.ccache/**
> # others
> + cache/
> - **/cache/**
> + xover-cache/
> - **/xover-cache/**
> ### obj ###
> # kernel
> - usr/src/**.o
> # special library .o (may be RH specific?)
> + usr/*/lib/**.o
> + usr/lib/**.o
> # all others
> - *.o
> ### backup ###
> - *~
> ### END rsync exclude file

### BEGIN rsync exclude file
### directory entries, no directory contents
### tmp, anywhere in tree ###
- **/tmp/*
### transient, from root (/) ###
- /proc/*
- /mnt/*
- /cdrom/*
- /tmpfs/*
### cache, anywhere in tree ###
# mozilla
- **/Cache/*
# ccache.samba.org
- **/ccache/*
- **/.ccache/*
# others
- **/cache/*
- **/xover-cache/*
### obj ###
# special library .o (may be RH specific?)
+ usr/*/lib/**.o
+ usr/lib/**.o
# all others
- *.o
### backup ###
- *~
### END rsync exclude file

-- 
________________________________________________________________
	J.W. Schultz            Pegasystems Technologies
	email address:		jw at pegasys.ws

		Remember Cernan and Schmitt


More information about the rsync mailing list