* finish task #2494.
This commit is contained in:
+8
-15
@@ -6,19 +6,11 @@ error_reporting(E_ALL ^ E_NOTICE);
|
||||
$pmsRoot = dirname(dirname(dirname(__FILE__)));
|
||||
$myConfig = $pmsRoot . '/config/config.php';
|
||||
$zipClass = $pmsRoot . '/lib/pclzip/pclzip.class.php';
|
||||
$zdbClass = $pmsRoot . '/lib/zdb/zdb.class.php';
|
||||
|
||||
include $myConfig;
|
||||
include $zipClass;
|
||||
|
||||
/* Judge mysqldump cmd setted or not. */
|
||||
if(empty($config->mysqldump))
|
||||
{
|
||||
echo "Please set the mysqldump path in $myConfig:\n";
|
||||
echo "Just like: \n";
|
||||
echo '$config->mysqldump = \'/usr/bin/mysqldump\'; for linux' . "\n";
|
||||
echo '$config->mysqldump = \'D:\xampp\mysql\bin\mysqldump.exe\'; for windows' . "\n";
|
||||
exit;
|
||||
}
|
||||
include $zdbClass;
|
||||
|
||||
/* Init the backupRoot and dest directory. */
|
||||
$backupRoot = $pmsRoot . "/backup";
|
||||
@@ -29,12 +21,13 @@ if(!file_exists($destDir)) mkdir($destDir, 0777);
|
||||
|
||||
/* Backup database. */
|
||||
$dbRawFile = "db." . date('Ymd') . ".sql";
|
||||
$password = $config->db->password ? "-p{$config->db->password}" : ' ';
|
||||
$command = "\"{$config->mysqldump}\" -u{$config->db->user} $password -P {$config->db->port} {$config->db->name} > {$dbRawFile}";
|
||||
|
||||
$dsn = "mysql:host={$config->db->host}; port={$config->db->port}; dbname={$config->db->name}";
|
||||
$dbh = new PDO($dsn, $config->db->user, $config->db->password, array(PDO::ATTR_PERSISTENT => $config->db->persistant));
|
||||
$dbh->exec("SET NAMES {$config->db->encoding}");
|
||||
echo "Backuping database,";
|
||||
system($command, $return);
|
||||
if($return == 0)
|
||||
$zdb = new zdb();
|
||||
$return = $zdb->dump($dbRawFile);
|
||||
if($return->result)
|
||||
{
|
||||
$dbZipFile = $destDir . "/" . str_replace("sql", "zip", $dbRawFile);
|
||||
$archive = new pclzip($dbZipFile);
|
||||
|
||||
Reference in New Issue
Block a user