正在显示
1 个修改的文件
包含
48 行增加
和
0 行删除
cmd/back_mysql.php
0 → 100644
| 1 | +<?php | ||
| 2 | + | ||
| 3 | + | ||
| 4 | +include_once "../vendor/autoload.php"; | ||
| 5 | + | ||
| 6 | +$dir = __DIR__."/mysql_back/"; | ||
| 7 | +if(!is_dir($dir)){ | ||
| 8 | + mkdir($dir,0775,true); | ||
| 9 | +} | ||
| 10 | + | ||
| 11 | +$tables = db()->query("show tables;")->fetchAll(); | ||
| 12 | + | ||
| 13 | + | ||
| 14 | +foreach ($tables as $table){ | ||
| 15 | + $table = array_values($table)[0]; | ||
| 16 | + | ||
| 17 | + $name = $dir.$table.".create.sql"; | ||
| 18 | + _echo("正在备份表结构 ".$table); | ||
| 19 | + // 显示表结构 | ||
| 20 | + $c = db()->query("show create table {$table}")->fetch(); | ||
| 21 | + | ||
| 22 | + file_put_contents($name,$c['Create Table']); | ||
| 23 | + | ||
| 24 | + if(in_array($table,['lists_auto','lists','bodies','bodies_back','lists_hot'])){ | ||
| 25 | + continue; | ||
| 26 | + } | ||
| 27 | + | ||
| 28 | + $datafile = $dir.$table.'.'.date('Ymd').".data.json"; | ||
| 29 | + $p = 0; | ||
| 30 | + $limit = 1000; | ||
| 31 | + while (1){ | ||
| 32 | + echo "当前备份 $p 页\r"; | ||
| 33 | + $lists = db()->all("select * from `{$table}` limit {$limit} offset ".($p*$limit)); | ||
| 34 | + if($lists){ | ||
| 35 | + foreach ($lists as $list) | ||
| 36 | + file_put_contents($datafile,json_encode($list,true),FILE_APPEND); | ||
| 37 | + }else{ | ||
| 38 | + break; | ||
| 39 | + } | ||
| 40 | + $p++; | ||
| 41 | + | ||
| 42 | + } | ||
| 43 | + | ||
| 44 | + echo "\n"; | ||
| 45 | + | ||
| 46 | +} | ||
| 47 | + | ||
| 48 | + |
-
请 注册 或 登录 后发表评论