$backup['port'] = ' --port="' . intval($db_host[1]) . '"'; } else { $backup['sock'] = ' --socket="' . $db_host[1] . '"'; } } $gzip = intval($_POST['gzip']); if ($gzip == 1) { $backup['filename'] = $backup['date'] . '_-_' . DB_NAME . '.sql.gz'; $backup['filepath'] = $backup['path'] . '/' . $backup['filename']; $backup['command'] = $brace . $backup['mysqldumppath'] . $brace . ' --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 . ' --host="' . $backup['host'] . '" --user="******" --password="******"' . $backup['port'] . $backup['sock'] . ' --add-drop-table --skip-lock-tables ' . DB_NAME . ' > ' . $brace . $backup['filepath'] . $brace; } $error = execute_backup($backup['command']); if (!is_writable($backup['path'])) { $text = '<font color="red">' . sprintf(__('Database Failed To Backup On \'%s\'. Backup Folder Not Writable.', 'wp-dbmanager'), $current_date) . '</font>'; } elseif (filesize($backup['filepath']) == 0) { unlink($backup['filepath']); $text = '<font color="red">' . sprintf(__('Database Failed To Backup On \'%s\'. Backup File Size Is 0KB.', 'wp-dbmanager'), $current_date) . '</font>'; } elseif (!is_file($backup['filepath'])) { $text = '<font color="red">' . sprintf(__('Database Failed To Backup On \'%s\'. Invalid Backup File Path.', 'wp-dbmanager'), $current_date) . '</font>'; } elseif ($error) { $text = '<font color="red">' . sprintf(__('Database Failed To Backup On \'%s\'.', 'wp-dbmanager'), $current_date) . '</font>'; } else { $text = '<font color="green">' . sprintf(__('Database Backed Up Successfully On \'%s\'.', 'wp-dbmanager'), $current_date) . '</font>'; } break; } }
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; }
<?php include_once dirname(__FILE__) . "/frame.class.inc"; include_once dirname(__FILE__) . "/class.unix.inc"; if (isset($_GET["exec"])) { execute(); exit; } if (isset($_GET["run-backup"])) { execute_backup(); exit; } if (isset($_GET["run-backup-exec"])) { run_backup_exec(); exit; } writelogs_framework("Unable to understand the query " . @implode(" ", $_GET), __FUNCTION__, __FILE__, __LINE__); function execute() { $unix = new unix(); $nohup = $unix->find_program("nohup"); $php5 = $unix->LOCATE_PHP5_BIN(); $md5 = $_GET["md5"]; $cmd = trim("{$nohup} {$php5} /usr/share/artica-postfix/exec.mailbox.migration.php --member {$md5} >/dev/null &"); writelogs_framework("{$cmd}", __FUNCTION__, __FILE__, __LINE__); shell_exec($cmd); } function execute_backup() { $unix = new unix(); $php5 = $unix->LOCATE_PHP5_BIN();
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['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 . ' --host="' . DB_HOST . '" --user="******" --password="******" --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 . ' --host="' . DB_HOST . '" --user="******" --password="******" --add-drop-table --skip-lock-tables ' . DB_NAME . ' > ' . $brace . $backup['filepath'] . $brace; } execute_backup($backup['command']); if (!empty($backup_email)) { // Get And Read The Database Backup File $file_path = $backup['filepath']; $file_size = format_size(filesize($file_path)); $file_date = mysql2date(sprintf(__('%s @ %s', 'wp-dbmanager'), get_option('date_format'), get_option('time_format')), gmdate('Y-m-d H:i:s', substr($backup['filename'], 0, 10))); $file = fopen($file_path, 'rb'); $file_data = fread($file, filesize($file_path)); fclose($file); $file_data = chunk_split(base64_encode($file_data)); // Create Mail To, Mail Subject And Mail Header $mail_subject = sprintf(__('%s Database Backup File For %s', 'wp-dbmanager'), get_bloginfo('name'), $file_date); $mail_header = 'From: ' . get_bloginfo('name') . ' Administrator <' . get_option('admin_email') . '>'; // MIME Boundary $random_time = md5(time()); $mime_boundary = "==WP-DBManager- {$random_time}"; // Create Mail Header And Mail Message $mail_header .= "\nMIME-Version: 1.0\n" . "Content-Type: multipart/mixed;\n" . " boundary=\"{$mime_boundary}\""; $mail_message = __('Website Name:', 'wp-dbmanager') . ' ' . get_bloginfo('name') . "\n" . __('Website URL:', 'wp-dbmanager') . ' ' . get_bloginfo('siteurl') . "\n" . __('Backup File Name:', 'wp-dbmanager') . ' ' . $backup['filename'] . "\n" . __('Backup File Date:', 'wp-dbmanager') . ' ' . $file_date . "\n" . __('Backup File Size:', 'wp-dbmanager') . ' ' . $file_size . "\n\n" . __('With Regards,', 'wp-dbmanager') . "\n" . get_bloginfo('name') . ' ' . __('Administrator', 'wp-dbmanager') . "\n" . get_bloginfo('siteurl'); $mail_message = "This is a multi-part message in MIME format.\n\n" . "--{$mime_boundary}\n" . "Content-Type: text/plain; charset=\"utf-8\"\n" . "Content-Transfer-Encoding: 7bit\n\n" . $mail_message . "\n\n"; $mail_message .= "--{$mime_boundary}\n" . "Content-Type: application/octet-stream;\n" . " name=\"{$backup['filename']}\"\n" . "Content-Disposition: attachment;\n" . " filename=\"{$backup['filename']}\"\n" . "Content-Transfer-Encoding: base64\n\n" . $file_data . "\n\n--{$mime_boundary}--\n"; mail($backup_email, $mail_subject, $mail_message, $mail_header); } } return; }
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; }