public function actionInit()
 {
     \Yii::$app->response->format = Response::FORMAT_JSON;
     $tables = \Yii::$app->request->post('tables');
     $path = \Yii::$app->controller->module->params['DATA_BACKUP_PATH'];
     if (!is_dir($path)) {
         mkdir($path, 0755, true);
     }
     //读取备份配置
     $config = array('path' => realpath($path) . DIRECTORY_SEPARATOR, 'part' => \Yii::$app->controller->module->params['DATA_BACKUP_PART_SIZE'], 'compress' => \Yii::$app->controller->module->params['DATA_BACKUP_COMPRESS'], 'level' => \Yii::$app->controller->module->params['DATA_BACKUP_COMPRESS_LEVEL']);
     //检查是否有正在执行的任务
     $lock = "{$config['path']}backup.lock";
     if (is_file($lock)) {
         return ['status' => 0, 'info' => '检测到有一个备份任务正在执行,请稍后再试!'];
     } else {
         //创建锁文件
         file_put_contents($lock, time());
     }
     //检查备份目录是否可写
     if (!is_writeable($config['path'])) {
         return ['status' => 0, 'info' => '备份目录不存在或不可写,请检查后重试!'];
     }
     \Yii::$app->session->set('backup_config', $config);
     //生成备份文件信息
     $file = array('name' => date('Ymd-His', time()), 'part' => 1);
     \Yii::$app->session->set('backup_file', $file);
     //缓存要备份的表
     \Yii::$app->session->set('backup_tables', $tables);
     //创建备份文件
     $Database = new Database($file, $config);
     if (false !== $Database->create()) {
         $tab = ['id' => 0, 'start' => 0];
         return ['status' => 1, 'info' => '初始化成功!', 'tables' => $tables, 'tab' => $tab];
     } else {
         return ['status' => 0, 'info' => '初始化失败,备份文件创建失败!'];
     }
 }