Not those kind of event changes. Configuration change events. Adding or changing Things or Items or Rules and the like. JOSNDB does not store nor does it do anything with Item events. Persistence is for that.
But if you do something like Create Equipment from Thing a dozen or more Items might be created all at once so those settings can make it wait until all dozen Items are created before making the backup.
Depends on what you mean by “scripts”. Unfortunately the term is overloaded in openHAB.
In Rules DSL you can write chunks of Rule DSL code and put it into /etc/openhab/scripts and call them from Rules DSL rules. These have limited use because you cannot pass arguments to them or get return values from them. But there are some uses: A simple scene management: finally a good use of scripts
In MainUI, on-the-other-hand, a Script is just a regular rule that only consists of a single Script Action. And remember, in MainUI you can call a rule from another rule. You can even pass arguments to that other rule.
JavaScript
// Run another rule
var FrameworkUtil = Java.type("org.osgi.framework.FrameworkUtil");
var _bundle = FrameworkUtil.getBundle(scriptExtension.class);
var bundle_context = _bundle.getBundleContext()
var classname = "org.openhab.core.automation.RuleManager"
var RuleManager_Ref = bundle_context.getServiceReference(classname);
var RuleManager = bundle_context.getService(RuleManager_Ref);
RuleManager.runNow("tocall");
var map = new java.util.HashMap();
map.put("test_data", "Passed data to called function!")
RuleManager.runNow("tocall", true, map); // second argument is whether to consider the conditions, third is a Map<String, Object>
NOTE: Most of that should be put into a library if you plan on using Scripts in this way.
However, these cannot return a value. But often there isn’t a need to return a value. This can be an alternative to writing a library for things like centralizing sending alerts, for example.
When I figure out how to do something I like to save that code into a rule in a MainUI Script for future reference. That’s why I was able to paste in the code above so easily.
There is a special Script you can create from the Developer Sidebar called -Scratchpad- which is a great place to write experiments or test code. It’s quickly accessible from the sidebar and then write some code to sendCommand to Items to trigger the rules under development, for example.