I once found a article on the web which listed the typical exclusions for IBM TSM clients on Windows (for a version of TSM which is probably EOL now). Anyway, it was interesting to see what IBM considered as safe to exclude from their backup client. I used that list to formulate the long list below. I haven't looked for that article again, but maybe you'll be able to find it.
So... I used to exclude the following on all of my Windows backup clients:
call :cfg "EXCLUDE = *.tmp"
call :cfg "EXCLUDE = *:\Recycler"
call :cfg "EXCLUDE = *:\Spool"
call :cfg "EXCLUDE = *:\Temp"
call :cfg "EXCLUDE = C:\Documents and Settings\*\Application Data\Microsoft\Outlook\outcmd.dat"
call :cfg "EXCLUDE = C:\Documents and Settings\*\Local Settings\Temp"
call :cfg "EXCLUDE = C:\Documents and Settings\*\Local Settings\Temporary Internet Files"
call :cfg "EXCLUDE = C:\Documents and Settings\All Users\Application Data\Microsoft\Network\Downloader\qmgr*.dat"
call :cfg "EXCLUDE = C:\Documents and Settings\All Users\Application Data\Microsoft\Search\Data\Applications\Windows"
call :cfg "EXCLUDE = C:\Documents and Settings\All Users\Application Data\Network Associates\BOPDATA\_Date*.dat"
call :cfg "EXCLUDE = C:\WINDOWS\Microsoft.NET\Framework\v*\CONFIG\security.config.cch.*"
call :cfg "EXCLUDE = C:\WINDOWS\security\Database\secedit.sdb"
call :cfg "EXCLUDE = C:\WINDOWS\security\edb.log"
call :cfg "EXCLUDE = C:\WINDOWS\security\edbtmp.log"
call :cfg "EXCLUDE = C:\WINDOWS\security\tmp.edb"
call :cfg "EXCLUDE = C:\WINDOWS\system32\NtmsData"
call :cfg "EXCLUDE = C:\WINDOWS\system32\Perflib_Perfdata_*.dat"
call :cfg "EXCLUDE = C:\WINDOWS\system32\wbem\Logs\FrameWork.log"
call :cfg "EXCLUDE = C:\WINDOWS\Temp"
call :cfg "EXCLUDE = C:\WINDOWS\Temporary Internet Files"
call :cfg "EXCLUDE = D:\Program Files\BMC Software\Patrol3*\log"
REM *** Normal client...
call :cfg "EXCLUDE = !z_cli_drive!:\Program Files\VERITAS\NetBackup\bin\*.lock"
call :cfg "EXCLUDE = !z_cli_drive!:\Program Files\VERITAS\NetBackup\bin\bprd.d\*.lock"
call :cfg "EXCLUDE = !z_cli_drive!:\Program Files\VERITAS\NetBackup\bin\bpsched.d\*.lock"
call :cfg "EXCLUDE = !z_cli_drive!:\Program Files\VERITAS\NetBackup\logs"
call :cfg "EXCLUDE = !z_cli_drive!:\Program Files\VERITAS\Volmgr\misc\*"
...but then we need to remember that, potentially, every file to be backed-up has to be evaluated against the exclusion list... ALWAYS... unless the backup client is doing something clever (and I never found out whether it was or not) and dropping exclusion entries as it passes the point where each exclusion entry is no longer required... i.e. if the backup client is dual stepping/walking not only the client's folder trees but also the exclusion list - or doing some clever partial string matching (maybe at MFD folder name level)... anyway... in the NetBackup community there has always been the general suggestion to keep exclusion lists short... so now I just exclude these on all Windows based backup clients:
call :cfg "EXCLUDE = *.tmp"
call :cfg "EXCLUDE = *:\Recycler"
call :cfg "EXCLUDE = *:\Temp"
...and only add other specific exclusions on a per client basis as I discover files that are permanently locked (and can never be backed-up) in an effort to drive down status 1 backups.