📄 backup.php
字号:
<?
include_once 'inc/auth.php';
echo '
<html>
<head>
<title>数据库热备份</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body class="bodycolor" topmargin="5">
<br>
';
$query = 'SHOW VARIABLES';
$cursor = exequery ($connection, $query);
while ($ROW = mysql_fetch_array ($cursor))
{
if ((strtolower ($ROW['Variable_name']) == 'datadir'))
{
$DATA_DIR = $ROW['Value'];
break;
}
}
if (($DATA_DIR == ''))
{
$DATA_DIR = 'D:/MYOA/data/';
}
($DATA_DIR .= $MYSQL_DB);
$handle = opendir ($DATA_DIR);
if (!$handle)
{
message ('错误', (('不能打开数据库目录('.$DATA_DIR).')'));
exit ();
}
$FILE_COUNT = 0;
while ((false !== $FILE_NAME = readdir ($handle)))
{
if (((($FILE_NAME == '.') OR ($FILE_NAME == '..')) OR is_dir ((($DATA_DIR.'/').$FILE_NAME))))
{
continue;
}
else
{
$EXT_NAME = strtolower (substr ($FILE_NAME, -4));
if (((($EXT_NAME != '.frm') AND ($EXT_NAME != '.myd')) AND ($EXT_NAME != '.myi')))
{
continue;
}
else
{
$FILE_ARRAY[$FILE_COUNT++] = $FILE_NAME;
continue;
}
continue;
}
}
closedir ($handle);
if (($FILE_COUNT == 0))
{
message ('错误', (('目录('.$DATA_DIR).')下无数据库文件'));
exit ();
}
$BACKUP_DIR = (realpath (($DATA_DIR.'/../../')).'/bak');
if ((!file_exists ($BACKUP_DIR) OR !is_dir ($BACKUP_DIR)))
{
mkdir ($BACKUP_DIR);
}
($BACKUP_DIR .= (('/'.$MYSQL_DB).date ('YmdHis', time ())));
if (!mkdir ($BACKUP_DIR))
{
message ('错误', (('创建备份目录('.$BACKUP_DIR).')失败'));
exit ();
}
$pagestarttime = microtime ();
$query = 'FLUSH TABLES WITH READ LOCK ';
exequery ($connection, $query);
for ($I = 0; ($I < count ($FILE_ARRAY)); ++$I)
{
if (!copy ((($DATA_DIR.'/').$FILE_ARRAY[$I]), (($BACKUP_DIR.'/').$FILE_ARRAY[$I])))
{
($FAIL_FILE .= ($FILE_ARRAY[$I].','));
--$FILE_COUNT;
continue;
}
}
$query = 'UNLOCK TABLES';
exequery ($connection, $query);
message ('', (((('共'.$FILE_COUNT).'个文件备份成功,文件备份至“').str_replace ('\\', '/', $BACKUP_DIR)).'”'));
if (($FILE_COUNT != count ($FILE_ARRAY)))
{
message ('', ('以下文件备份失败:'.substr ($FAIL_FILE, 0, -1)));
}
button_back ();
echo '</body>
</html>
';
?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -