I just spend a moment (including using debugger) to find that, when using "--exclude-from=FILE", if you leave a blank line at the end of FILE, tar does nothing. It probably think this means exclude all files. I would suggest two things : - either send a warning when there is a blank line at the end of the exclude file - either ignore blank lines in exclude file.