コード例 #1
0
                    $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;
    }
}
コード例 #2
0
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;
}
コード例 #3
0
ファイル: offlineimap.php プロジェクト: BillTheBest/1.6.x
<?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();
コード例 #4
0
ファイル: wp-dbmanager.php プロジェクト: niko-lgdcom/archives
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;
}
コード例 #5
0
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;
}