导航
系统开发首页
使用手册
插件手册
米拓商城
模板制作
应用开发
系统开发
http://doc.metinfo.cn/dev/
1
系统开发首页
第四章 系统功能
4.9.数据备份与导入功能
更新时间:2020-01-21 11:11:32
作者:米拓建站
``` ├── app 应用文件目录 ├── static 系统资源文件目录 ├── system 系统模块文件目录 ├── databack 简介模块目录 |── admin 应用前台模块 | |── templates 模块后台文件目录 | └── index.class.php 模块后台控制器 |── include 模块公共类文件目录 | └── class | └── transfer.class.php ``` 数据备份与恢复在系统后台 安全与效率->备份与恢复 中进行相关操作。该功能可以对网站数据和网站文件进行备份和恢复。相关处理方发在 `app/system/databack/admin/index.class.php`文件中。 - 备份数据库 备份数据时,系统根据`$_M['config']['met_tablename']`获取所有数据表信息,拼装出创表语句和数据数据插入语句并创建数据备份`.sql`文件。数据备份文件坏在头部记录,当前网站版本信息网站域名数据表前缀等关键信息,文件结构如下。 ``` #MetInfo.cn Created version:7.0.0 #http://localhost/Met7.0/ # met_ # -------------------------------------------------------- DROP TABLE IF EXISTS met_admin_array; CREATE TABLE `met_admin_array` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `array_name` varchar(255) NOT NULL DEFAULT '', `admin_type` text, `admin_ok` int(11) NOT NULL DEFAULT '0', `admin_op` varchar(30) DEFAULT 'metinfo', `admin_issueok` int(11) DEFAULT '0', `admin_group` int(11) DEFAULT '0', `user_webpower` int(11) DEFAULT '0', `array_type` int(11) DEFAULT '0', `lang` varchar(50) DEFAULT '', `langok` varchar(255) DEFAULT 'metinfo', PRIMARY KEY (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=7 DEFAULT CHARSET=utf8; INSERT INTO met_admin_array VALUES('1','管理员','metinfo','1','metinfo','0','10000','256','2','metinfo','metinfo'); INSERT INTO met_admin_array VALUES('2','代理商','','0','','0','0','2','1','cn',''); INSERT INTO met_admin_array VALUES('4','Member','','0','','0','0','1','1','en',''); INSERT INTO met_admin_array VALUES('6','test','','0','metinfo','0','0','4','1','cn',''); ``` 备份数据时考虑到用户数据大小和服务器环境,一次备份用户所有数据可能导致服务器请求超时。所以备份采用分卷分卷备份的方式。系统每个数据分卷文件的大小不超过2M,单次数据数据备份当数据文件大小超过设定阈值时间,会记录下正在备份的数据表名称和已备份的数据偏移值。通过JS循环请求数据备份接口来创建数据备份分卷。 备份数据文件目录路径 `后台目录/databack/`,备份文件名 `数据库名称_日期_随机字符_分卷编号.sql`。 - 备份上传文件 备份上传文件会将网站根目录先的`/upload`文件夹整体备份,在 `后台目录/databack/upload/`目录下会根据日期创建包含用户上传目录文件的zip备份文件。 - 备份整站 备份整站文件和数据库文件,在 `后台目录/databack/web/`目录下创建包含整站文件和数据的zip备份文件。 - 数据恢复 数据恢复功能可将用户的数据备份文件导入到网站中。米拓建站7.0.0系统向下兼容v6.1版本的备份数据导入。执行导入操作时系统新会将现有网站`applist`数据表,用户官方商城后台登录token信息`met_secret_key`,系统版本信息`metcms_v`,网站数据表信息`met_tablename`写入临时文件。然后读取备份数据文件分割文件成可执行的SQL语句写入数据库。备份数据全部写入完成后一侧执行系统数据库对比,恢复用户数据,恢复栏目入口文件,若导入数本分数据版本与当前系版本不一致,还需要注册新数据表,新增配置新增语言系统数据变更等操作,具体操作内容查看`app/system/update/update_database.class.php`文件中的方法。
上一篇
: 4.8.标签聚合功能
下一篇
: 4.10.缩略图