# 备份 backup组件可轻松完成数据备份与恢复操作 其他产品也可以使用该组件,请登录 [GITHUB](https://github.com/houdunwang/backup) 查看源代码与说明文档。 [TOC] ### 备份 ``` namespace app\home\controller; class Back { public function backup() { $config = [ 'size' => 2,//分卷大小单位KB 'dir' => 'backup/' . date( "Ymdhis" ),//备份目录 ]; $status = Backup::backup( $config, function ( $result ) { if ( $result['status'] == 'run' ) { //备份进行中 echo $result['message']; //刷新当前页面继续下次 echo "<script>setTimeout(function() {location.href='{$_SERVER['REQUEST_URI']}'},100);</script>"; } else { //备份执行完毕 echo $result['message']; } } ); if($status===false){ //备份过程出现错误 echo Backup::getError(); } } } ``` ### 还原 ``` <?php namespace web\home\Controller; class Back { public function recovery() { //要还原的备份目录 $config=['dir'=>'backup/20170108122230']; $status = Backup::recovery( $config, function ( $result ) { if ( $result['status'] == 'run' ) { //还原进行中 echo $result['message']; //刷新当前页面继续执行 echo "<script>setTimeout(function(){location.href='{$_SERVER['REQUEST_URI']}'},1000);</script>"; } else { //还原执行完毕 echo $result['message']; } } ); if($status===false){ //还原过程出现错误 echo Backup::getError(); } } } ``` ### 获取备份 备份成功的目录会创建lock.php文件,使用以下方法可以获取正确的备份目录。 ``` $dirs = Backup::getBackupDir('backup'); p($dirs); ``` ### 删除失效备份 ``` if(!Backup::deleteFailureDir('backup')){ echo '删除成功'; }else{ echo Backup::getError(); } ```