+
+function prepare {
+ scottyinfo "Preparing for sync"
+}
+
+function cleanup_abrt {
+ scottyinfo "No cleanup_abrt function was defined."
+}
+
+function _cleanup_abrt {
+ scottyerror "Caught exit signal! Cleaning up..."
+ cleanup_abrt
+ if [ $(jobs -p) ]; then
+ scottyerror TERMinating remaining child processes...
+ kill $(jobs -p)
+ fi
+ exit
+}
+
+function prepare {
+ scottyinfo "No prepare function was defined."
+}
+
+function _prepare {
+ prepare
+}
+
+function cleanup_normal {
+ scottyinfo "No cleanup_normal function was defined."
+}
+
+function _cleanup_normal {
+ cleanup_normal
+}
+
+function backmeupscotty {
+ if ! isIncompleteOrNthDay; then
+ scottyinfo "This is not the nth day and no incomplete backup exists."
+ exit 0
+ fi
+
+ trap _cleanup_abrt EXIT
+
+ _prepare
+ scottysync
+ _cleanup_normal
+
+ trap - EXIT
+}