How do I scp files of size less than x?

you can use 'rsync' command which has an option to controlling the file size to be excluding.

rsync -rv --max-size=100m /path/in/local/ server:~/project/

from 'man rsync',

--max-size=SIZE    don't transfer any file larger than SIZE

Updated answer : simply exclude the log files with 'rsync' --exclude option as below

rsync -rv --exclude='*.log' --max-size=100m /path/in/local/ server:~/project/

or you can use the 'find' command combination with 'scp' and specify the file size limit with its -size option. use ! -name '*.log' to exclude the certain files end with 'log'.

find /path/in/local -type f ! -name '*.log' -size -100m -exec scp '{}' server:~/project/ \;