We just had a vendor that was adding more Z3s to our environment that accidently selected our main network when adding to our template config for our Z3s, which wiped out the entire config on the MX for that network. We lost all of our firewall rules, nats, vlans, everything! And since it was a config change, we had to rebuild all of this manually.
It would have been really nice to have a backup to restore from instead of having to rebuild everything in the middle of the work day. The solution I came up with is to just create a template from each branch that I can update on a schedule so if this type of thing happens again I would be able to just apply the network to the correct template, let it apply the config from that template. Then once it is back up and everything is good, I will remove the branch from the template and retain the config.
I hope this works as I have not put this into practice yet but am working on currently.