* finish task #3457.

This commit is contained in:
wangyidong
2017-12-14 17:11:13 +08:00
parent 04c5c50cce
commit 73fd2f0575
3 changed files with 10 additions and 60 deletions
+5 -1
View File
@@ -39,7 +39,11 @@ echo %ztcli% > %baseDir%ztcli.bat
echo ztcli.bat ok
:: create backup.bat
SET backup= %phpcli% %baseDir%php\backup.php
if %requestType% == 'PATH_INFO' (
SET backup= %phpcli% %baseDir%ztcli "%pmsRoot%/backup-backup.html"
)else (
SET backup= %phpcli% %baseDir%ztcli "%pmsRoot%/index.php?m=backup&f=backup"
)
echo %backup% > %baseDir%backup.bat
echo backup.bat ok
+5 -1
View File
@@ -42,7 +42,11 @@ echo $ztcli > $basePath/ztcli.sh
echo "ztcli.sh ok"
# backup database
backup="$phpcli $basePath/php/backup.php"
if [ $requestType == 'PATH_INFO' ]; then
backup="$phpcli $basePath/ztcli '$pmsRoot/backup-backup.html'";
else
backup="$phpcli $basePath/ztcli '$pmsRoot/index.php?m=backup&f=backup'";
fi
echo $backup > $basePath/backup.sh
echo "backup.sh ok"
-58
View File
@@ -1,58 +0,0 @@
<?php
/* Backup the db. */
error_reporting(E_ALL ^ E_NOTICE);
/* Include config.php and pclzip class. */
$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;
include $zdbClass;
/* Init the backupRoot and dest directory. */
$backupRoot = $pmsRoot . "/backup";
$destDir = $backupRoot . "/" . date('Ym');
if(!file_exists($backupRoot)) mkdir($backupRoot, 0777);
if(!file_exists($destDir)) mkdir($destDir, 0777);
/* Backup database. */
$dbRawFile = "db." . date('Ymd') . ".sql";
$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,";
$zdb = new zdb();
$return = $zdb->dump($dbRawFile);
if($return->result)
{
$dbZipFile = $destDir . "/" . str_replace("sql", "zip", $dbRawFile);
$archive = new pclzip($dbZipFile);
if($archive->create($dbRawFile))
{
unlink($dbRawFile);
echo " successfully saved to $dbZipFile\n";
}
else
{
die("Error : " . $archive->errorInfo(true));
}
}
else
{
echo "Failed to backup database!\n";
}
/* Backup the attachments. */
chdir(dirname(dirname(dirname(__FILE__))) . "/www");
if(!is_dir('data/upload')) die(" No files needed backup.\n");
echo "Backuping files,";
$attachFile = $destDir . "/" . "file." . date('Ymd', time()) . ".zip";
$archive = new pclzip($attachFile);
if($archive->create("data/upload", PCLZIP_OPT_REMOVE_PATH, "data")) die(" successfully saved to $attachFile\n");
die("Error : ".$archive->errorInfo(true));