I prefer excluding over including files when doing backups, so I simply backup /
and pass a list of excludes via --exclude-file
, like so:
**.egg-info
**.lck
**.lock
**.log
**.pyc
**.swp
**~
/bin
/boot
/dev
/lib*
/media
/opt
/proc
/run
/sbin
/sys
/tmp
[...]
Regarding /var
it’s a bit more complex. I can’t simply exclude /var
, because I want to keep certain directories inside /var
, say /var/spool/cron/crontabs
.
A pattern like the following would obviously not work:
/var # exlcude /var
!/var/spool/cron/crontabs # ... but include the crontabs
So, instead I have to do this:
# Exclude everything just below /var
/var/*
# ... but keep /var/spool, exclude its contents
!/var/spool
/var/spool/*
# ... but keep /var/spool/cron, exclude its contents
!/var/spool/cron
/var/spool/cron/*
# ... but keep the crontabs
!/var/spool/cron/crontabs
This is very cumbersome. Are there easier ways to achieve the same?