diff --git a/backup_migrate.module b/backup_migrate.module
index 9a37a0f..ee2d3d1 100644
--- a/backup_migrate.module
+++ b/backup_migrate.module
@@ -143,14 +143,16 @@ function backup_migrate_menu() {
  * Takes care of scheduled backups and deletes abandoned temp files.
  */
 function backup_migrate_cron() {
-  // Set the message mode to logging.
-  _backup_migrate_message_callback('_backup_migrate_message_log');
+  if (variable_get('backup_migrate_schedules_run', TRUE)) {
+    // Set the message mode to logging.
+    _backup_migrate_message_callback('_backup_migrate_message_log');
 
-  backup_migrate_include('schedules');
-  backup_migrate_schedules_run();
+    backup_migrate_include('schedules');
+    backup_migrate_schedules_run();
 
-  backup_migrate_include('files');
-  _backup_migrate_temp_files_delete();
+    backup_migrate_include('files');
+    _backup_migrate_temp_files_delete();
+  }
 }
 
 /**
@@ -207,6 +209,25 @@ function backup_migrate_theme() {
   return $themes;
 }
 
+/**
+ * Implements hook_requirements().
+ */
+function backup_migrate_requirements($phase) {
+  $requirements = array();
+  // Ensure translations don't break at install time
+  $t = get_t();
+  if ($phase == 'runtime') {
+    if (!variable_get('backup_migrate_schedules_run', TRUE)) {
+      $requirements['backup_migrate_schedule'] = array(
+        'title' => $t('Scheduled Backups'),
+        'value' => $t('Scheduled backups are disabled.  Visit the Backup and Migrate <a href="!url">schedule page</a> to enable them.', array('!url' => url(BACKUP_MIGRATE_MENU_PATH . '/schedule'))),
+        'severity' => REQUIREMENT_WARNING,
+      );
+    }
+  }
+  return $requirements;
+}
+
 /* Menu Callbacks */
 
 /**
diff --git a/includes/schedules.inc b/includes/schedules.inc
index 33451c6..0eb8f01 100644
--- a/includes/schedules.inc
+++ b/includes/schedules.inc
@@ -91,6 +91,15 @@ class backup_migrate_schedule extends backup_migrate_item {
   }
 
   /**
+   * Add a settings form to the schedule list.
+   */
+  function get_list() {
+    $list = render(drupal_get_form('backup_migrate_schedule_settings_form'));
+    $list .= parent::get_list();
+    return $list;
+  }
+
+  /**
    * Get a row of data to be used in a list of items of this type.
    */
   function get_list_row() {
@@ -399,3 +408,17 @@ class backup_migrate_schedule extends backup_migrate_item {
     }
   }
 }
+
+/**
+ * Settings form for enabling scheduled backups.
+ */
+function backup_migrate_schedule_settings_form() {
+  $form = array(
+    'backup_migrate_schedules_run' => array(
+      '#type' => 'checkbox',
+      '#default_value' => variable_get('backup_migrate_schedules_run', TRUE),
+      '#title' => t('Enable scheduled backups'),
+    ),
+  );
+  return system_settings_form($form);
+}
\ No newline at end of file
