--- backup_migrate.module.orig	2008-12-15 18:15:15.000000000 -0700
+++ backup_migrate.module	2008-12-16 10:45:20.000000000 -0700
@@ -122,10 +122,13 @@ function backup_migrate_cron() {
         "scheduled",
         variable_get("backup_migrate_timestamp_format", 'Y-m-d\TH-i-s')
         );
-
-      // Set the timestamp to indecate last backup time.
+      
+      // Set the timestamp to indicate last backup time.
       variable_set("backup_migrate_schedule_last_backup", $now);
 
+      // Back up any supplemental databases
+      _backup_migrate_backup_supplemental_databases("scheduled");
+
       // Delete older backups if needed.
       _backup_migrate_remove_expired_backups();
     }
@@ -133,6 +136,46 @@ function backup_migrate_cron() {
 }
 
 /**
+ * Back up any supplemental databases
+ */
+function _backup_migrate_backup_supplemental_databases($mode = "manual") {
+  global $db_url;
+  $filename = variable_get("backup_migrate_file_name", _backup_migrate_default_file_name());
+  $filename = _backup_migrate_clean_filename($filename);
+  if (is_array($db_url)) {
+    if ($dir = _backup_migrate_check_destination_dir($mode)) {
+      foreach ($db_url as $db_name => $url_to_db) {
+        if ($db_name <> 'default') {
+          $db_data = parse_url($url_to_db);
+          $db_data["path"][0] = " ";
+          $filename .= "-$dbname";
+          $append_timestamp = variable_get("backup_migrate_timestamp_format", 'Y-m-d\TH-i-s');
+          if ($append_timestamp) {
+            $filename .= date($append_timestamp);
+          }
+          $db_filename = "$dir/$filename-$db_name.sql.gz";
+          $cmd = "mysqldump -u " . $db_data["user"]
+            . " -h "  . $db_data["host"]
+            . " -p"  . $db_data["pass"]            . " "  . $db_data["path"]
+            . " |gzip > $db_filename ";
+          $fp = popen($cmd, "r");
+          if (empty($fp)) {
+            $message = t("Unable to back up supplemental database %dbname with command '!cmd'",
+              array('%dbname' => $db_name, '!cmd' => $cmd));
+            watchdog("backup_migrate", $message);
+          } else {
+            $message = t('Supplemental database %dbname backed up to %file. ', 
+              array('%dbname' => $db_name, '%file' => $db_filename));
+            watchdog('backup_migrate', $message);
+          }
+          $retval = pclose($fp);
+        }
+      }
+    }
+  }
+}
+
+/**
  * Implementation of hook_perm().
  */
 function backup_migrate_perm() {
