a) You could use 'pre-script' functionality (refer to the admin guide)
Create a script to check and detect the occurrence of the 'event'. Schedule the backup to run every hour. The backup will only effectively run if the condition attached to the pre-script allows it. The backup won't run right when the 'event' completes but will run within an hour after the event occurred.