function cron_dbmanager_backup() { $backup_options = get_option('dbmanager_options'); $backup_email = stripslashes($backup_options['backup_email']); if (intval($backup_options['backup_period']) > 0) { $backup = array(); $backup['date'] = current_time('timestamp'); $backup['mysqldumppath'] = $backup_options['mysqldumppath']; $backup['mysqlpath'] = $backup_options['mysqlpath']; $backup['path'] = $backup_options['path']; $backup['host'] = DB_HOST; $backup['port'] = ''; $backup['sock'] = ''; if (strpos(DB_HOST, ':') !== false) { $db_host = explode(':', DB_HOST); $backup['host'] = $db_host[0]; if (intval($db_host[1]) != 0) { $backup['port'] = ' --port=' . escapeshellarg(intval($db_host[1])); } else { $backup['sock'] = ' --socket=' . escapeshellarg($db_host[1]); } } $backup['command'] = ''; $brace = substr(PHP_OS, 0, 3) == 'WIN' ? '"' : ''; if (intval($backup_options['backup_gzip']) == 1) { $backup['filename'] = $backup['date'] . '_-_' . DB_NAME . '.sql.gz'; $backup['filepath'] = $backup['path'] . '/' . $backup['filename']; do_action('wp_dbmanager_before_escapeshellcmd'); $backup['command'] = escapeshellcmd($brace . $backup['mysqldumppath'] . $brace) . ' --force --host=' . escapeshellarg($backup['host']) . ' --user='******' --password='******'port'] . $backup['sock'] . ' --add-drop-table --skip-lock-tables ' . DB_NAME . ' | gzip > ' . escapeshellcmd($brace . $backup['filepath'] . $brace); } else { $backup['filename'] = $backup['date'] . '_-_' . DB_NAME . '.sql'; $backup['filepath'] = $backup['path'] . '/' . $backup['filename']; do_action('wp_dbmanager_before_escapeshellcmd'); $backup['command'] = escapeshellcmd($brace . $backup['mysqldumppath'] . $brace) . ' --force --host=' . escapeshellarg($backup['host']) . ' --user='******' --password='******'port'] . $backup['sock'] . ' --add-drop-table --skip-lock-tables ' . DB_NAME . ' > ' . escapeshellcmd($brace . $backup['filepath'] . $brace); } execute_backup($backup['command']); if (!empty($backup_email)) { dbmanager_email_backup($backup_email, $backup['filepath']); } } return; }
$backup['command'] = $brace . $backup['mysqlpath'] . $brace . ' --host="' . $backup['host'] . '" --user="******" --password="******"' . $backup['port'] . $backup['sock'] . $backup['charset'] . ' ' . DB_NAME . ' < ' . $brace . $backup['path'] . '/' . $database_file . $brace; } passthru($backup['command'], $error); if ($error) { $text = '<font color="red">' . sprintf(__('Database On \'%s\' Failed To Restore', 'wp-dbmanager'), $nice_file_date) . '</font>'; } else { $text = '<font color="green">' . sprintf(__('Database On \'%s\' Restored Successfully', 'wp-dbmanager'), $nice_file_date) . '</font>'; } } else { $text = '<font color="red">' . __('No Backup Database File Selected', 'wp-dbmanager') . '</font>'; } break; case __('E-Mail', 'wp-dbmanager'): if (!empty($database_file)) { $to = !empty($_POST['email_to']) ? sanitize_email($_POST['email_to']) : get_option('admin_email'); if (dbmanager_email_backup($to, $backup['path'] . '/' . $database_file)) { $text .= '<font color="green">' . sprintf(__('Database Backup File For \'%s\' Successfully E-Mailed To \'%s\'', 'wp-dbmanager'), $nice_file_date, $to) . '</font><br />'; } else { $text = '<font color="red">' . sprintf(__('Unable To E-Mail Database Backup File For \'%s\' To \'%s\'', 'wp-dbmanager'), $nice_file_date, $to) . '</font>'; } } else { $text = '<font color="red">' . __('No Backup Database File Selected', 'wp-dbmanager') . '</font>'; } break; case __('Download', 'wp-dbmanager'): if (empty($database_file)) { $text = '<font color="red">' . __('No Backup Database File Selected', 'wp-dbmanager') . '</font>'; } break; case __('Delete', 'wp-dbmanager'): if (!empty($database_file)) {
function cron_dbmanager_backup() { global $wpdb; $backup_options = get_option('dbmanager_options'); $backup_email = stripslashes($backup_options['backup_email']); if (intval($backup_options['backup_period']) > 0) { $current_date = mysql2date(sprintf(__('%s @ %s', 'wp-dbmanager'), get_option('date_format'), get_option('time_format')), gmdate('Y-m-d H:i:s', current_time('timestamp'))); $backup = array(); $backup['date'] = current_time('timestamp'); $backup['mysqldumppath'] = $backup_options['mysqldumppath']; $backup['mysqlpath'] = $backup_options['mysqlpath']; $backup['path'] = $backup_options['path']; $backup['password'] = str_replace('$', '\\$', DB_PASSWORD); $backup['host'] = DB_HOST; $backup['port'] = ''; $backup['sock'] = ''; if (strpos(DB_HOST, ':') !== false) { $db_host = explode(':', DB_HOST); $backup['host'] = $db_host[0]; if (intval($db_host[1]) != 0) { $backup['port'] = ' --port="' . intval($db_host[1]) . '"'; } else { $backup['sock'] = ' --socket="' . $db_host[1] . '"'; } } $backup['command'] = ''; $brace = substr(PHP_OS, 0, 3) == 'WIN' ? '"' : ''; if (intval($backup_options['backup_gzip']) == 1) { $backup['filename'] = $backup['date'] . '_-_' . DB_NAME . '.sql.gz'; $backup['filepath'] = $backup['path'] . '/' . $backup['filename']; $backup['command'] = $brace . $backup['mysqldumppath'] . $brace . ' --force --host="' . $backup['host'] . '" --user="******" --password="******"' . $backup['port'] . $backup['sock'] . ' --add-drop-table --skip-lock-tables ' . DB_NAME . ' | gzip > ' . $brace . $backup['filepath'] . $brace; } else { $backup['filename'] = $backup['date'] . '_-_' . DB_NAME . '.sql'; $backup['filepath'] = $backup['path'] . '/' . $backup['filename']; $backup['command'] = $brace . $backup['mysqldumppath'] . $brace . ' --force --host="' . $backup['host'] . '" --user="******" --password="******"' . $backup['port'] . $backup['sock'] . ' --add-drop-table --skip-lock-tables ' . DB_NAME . ' > ' . $brace . $backup['filepath'] . $brace; } execute_backup($backup['command']); if (!empty($backup_email)) { dbmanager_email_backup($backup_email, $backup['filepath']); } } return; }