Per the comments below, spaces can throw out some errors but in my testing they still seemed to get added to the archive when using the first method (a little strange in itself) but if you're worried, you can fix the find command to replace spaces with escaped versions.
As ever, there are a billion ways of doing this.
find /path/ -size -100M | sed 's/ /\\ /g' | xargs tar cvf archive.tar
find /path/ -size -100M -exec echo '"{}"' \; | xargs tar cvf archive.tar
Yeah there are probably a few more ways of doing this but you're probably best off with
find
as it's so tunable.or
If there are other directories in the current folder which you do not want to archive, then use:
Per the comments below, spaces can throw out some errors but in my testing they still seemed to get added to the archive when using the first method (a little strange in itself) but if you're worried, you can fix the find command to replace spaces with escaped versions.
As ever, there are a billion ways of doing this.
Just exclude the big files like this:
tar cf archive.tar /path/to/archive --exclude-from <(find /path/to/archive -size +100M)