ThinkPHP定时自动备份数据库(被动式计划任务)

ThinkPHP定时自动备份数据库(被动式计划任务)

1.在Common模块下新建以下文件

Conf ->tags.php

<?php
return array(
	'app_end' => array ('Behavior\CronRunBehavior'),
);

Conf ->crons.php

<?php
return array(
    'cronname' => array('DbBak', 1, 60),
);
?>

Cron->DbBak.php

<?php
import("Common.Cron.DbBackup");
//------1. 数据库备份(导出)------------------------------------------------------------
//分别是主机,用户名,密码,数据库名,数据库编码
$db = new DbBackup(C('DB_HOST'), C('DB_USER'), C('DB_PWD'), C('DB_NAME'), 'utf8');
// 参数:备份哪个表(可选),备份目录(可选,默认为backup),分卷大小(可选,默认2048,即2M)
$db->showInfo = false;
$result = $db->backup('', '', '');
file_put_contents('./backup/log/' . time() . '.json', json_encode($result));

Cron->DbManage.class.php

DbManage.class.php

2.在根目录下新建 backup/log(可写权限)

3.根目录下新建.htaccess或在.htaccess文件后追加

<Files ~ "\.sql$">
   Order allow,deny
   Deny from all
</Files>

 源码下载

TPBackup

发表评论

邮箱地址不会被公开。 必填项已用*标注