rsync: relative paths in exclude patterns
I don't think this is a good idea: for a full system backup, you need to exclude only the top-level directories. Using
--exclude="tmp/*" instead of
--exclude="/tmp/*" will exclude also the content of all directories named
tmp inside the tree (e.g.
/home/user/tmp/* or whatever).
You may want to elaborate on your problem with "source files over a network protocol".
I had though about such scenarios but must have made a mistake when testing, because your are correct. Thanks for pushing the point.