TP5 MySql数据备份类

浏览:356 发布日期:2018/08/24 分类:技术分享 关键字: MySql 数据库备份类
最近升级了一下数据库备份类,已实测.
控制器调用:$config = [
            'path' => ROOT_PATH . 'backup', //需要绝对地址
            'part' => 20971520,
            'compress' => 1, //1 = 压缩,0 = 不压缩
            'level' => 9, //1-9, 数字越大,压缩比越高
        ];
//检查是否有正在执行的任务
            $lock = "{$config['path']}backup.lock";
            if (is_file($lock)) {
                $this->error('有一个备份任务正在执行,请稍后再试!');
            } else {
                //创建锁文件
                file_put_contents($lock, time());
            }
//创建数据库备份
            $Database = new \libs\Database($file, $config);
            if (false == $Database->create()) {
                $this->error('数据库备份创建失败!');
            }
//备份表 (多个表循环)
$SuccessSum = 0;
            $FailureNum = 0;
            $strErrors = ''; 
            $start = 0;           
            foreach ($ids as $id) {
                //备份表
                $status = $Database->backup($id, $start);
                if (false === $status) { //出错
                    $FailureNum++;
                    continue;
                } else {
                    $SuccessSum++;
                }                
            }
            //备份完成,清空缓存
            unlink($lock);
            if ($SuccessSum > 0) {
                $this->success('备份成功!');
            } else {
                $this->error('备份失败!');
            }
最佳答案
评论( 相关
后面还有条评论,点击查看>>