📄 backup_ok.php
字号:
<?php
include_once( "inc/auth.php" );
include_once( "inc/utility.php" );
echo "\r\n<html>\r\n<head>\r\n<title>数据库热备份</title>\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=gb2312\">\r\n</head>\r\n\r\n<body class=\"bodycolor\" topmargin=\"5\">\r\n<br>\r\n";
$query = "SHOW VARIABLES";
$cursor = exequery( $connection, $query );
while ( $ROW = mysql_fetch_array( $cursor ) )
{
if ( !( strtolower( $ROW['Variable_name'] ) == "datadir" ) )
{
continue;
}
$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 == "." || $FILE_NAME == ".." || is_dir( $DATA_DIR."/".$FILE_NAME ) )
{
$EXT_NAME = strtolower( substr( $FILE_NAME, -4 ) );
if ( $EXT_NAME != ".frm" && $EXT_NAME != ".myd" && $EXT_NAME != ".myi" )
{
$FILE_ARRAY[$FILE_COUNT++] = $FILE_NAME;
}
}
}
closedir( $handle );
if ( $FILE_COUNT == 0 )
{
message( "错误", "目录(".$DATA_DIR.")下无数据库文件" );
exit( );
}
if ( !isset( $BACKUP_DIR ) && $BACKUP_DIR == "" )
{
$BACKUP_DIR = realpath( $DATA_DIR."/../../" )."\\bak";
}
if ( file_exists( $BACKUP_DIR ) )
{
}
if ( !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 );
$I = 0;
for ( ; $I < count( $FILE_ARRAY ); ++$I )
{
if ( !copy( $DATA_DIR."/".$FILE_ARRAY[$I], $BACKUP_DIR."/".$FILE_ARRAY[$I] ) )
{
$FAIL_FILE .= $FILE_ARRAY[$I].",";
--$FILE_COUNT;
}
}
$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>\r\n</html>\r\n";
?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -