For non-Linux systems there is a backup.sh and restore.sh scripts in the openhab/bin folder. Assuming a manual install of OH I think that’s $OH_HOME/runtime/bin.
There are a number of folders that should be excluded from userdata unless you want a full backup. In particular userdata/tmp ad userdata/cache can cause problems.
If your backup does include those folders, and you are restoring to a version of OH different from the version you are running, you must Clear the Cache.
There are a number of folders in userdata that are optional. If you don’t care about saved persistence data you can exclude persistence. If you don’t care about your configs outside of Things/Items/et al (e.g. regional settings, installed add-ons, etc) you can exclude the config folder. Some add-ons create their own folder in userdata which may or may not be optional to exclude (e.g. I think you’ll have to rediscover your Things for Zwave if you exclude the userdata/zwave folder). userdata/etc has the configs that OH manages but you might have some changes there (e.g. users, logging config, etc).
Not really but if you want to see what to save and not save, I recommend looking at the backup.sh script and see what it excludes when doing a regular backup.