...
|
...
|
@@ -37,21 +37,28 @@ foreach ($tables as $table){ |
|
|
|
|
|
$p = 0;
|
|
|
$limit = 1000;
|
|
|
$totalBackupCount = 0;
|
|
|
while (1){
|
|
|
echo "正在备份数据 当前 $p 页\r";
|
|
|
$lists = db()->all("select * from `{$table}` limit {$limit} offset ".($p*$limit));
|
|
|
if($lists){
|
|
|
foreach ($lists as $list)
|
|
|
file_put_contents($datafile,json_encode($list,true),FILE_APPEND);
|
|
|
$backupCount = 0;
|
|
|
foreach ($lists as $list) {
|
|
|
// 每行一个独立的JSON对象,添加换行符以便恢复时正确解析
|
|
|
file_put_contents($datafile, json_encode($list, JSON_UNESCAPED_UNICODE) . "\n", FILE_APPEND | LOCK_EX);
|
|
|
$backupCount++;
|
|
|
$totalBackupCount++;
|
|
|
}
|
|
|
// 如果当前页数据少于限制数量,说明已经是最后一页
|
|
|
if ($backupCount < $limit) {
|
|
|
break;
|
|
|
}
|
|
|
}else{
|
|
|
break;
|
|
|
}
|
|
|
$p++;
|
|
|
|
|
|
}
|
|
|
|
|
|
echo "\n";
|
|
|
echo "表 {$table} 备份完成,共 {$totalBackupCount} 条记录\n";
|
|
|
|
|
|
} |
|
|
\ No newline at end of file |
|
|
|
|
|
|
...
|
...
|
|