SAE定时备份数据库

来源:互联网 发布:如何查询数据库名称 编辑:程序博客网 时间:2024/06/05 01:59

https://leo108.com/pid-1810.asp


WordPress迁移到SAE之后,以前的backwpup插件就不能直接用了,但是又需要备份,所以就利用SAE的几个服务来实现这个功能。

1.deferred job

SAE自带的数据库导入、导出服务,可以直接将数据库导出到storage下。

2.cron

SAE的计划任务,根据设置定时访问设定的页面,来触发我们的备份行为。

下面是操作步骤:

1.新建一个叫back的storage,用来存放备份文件。

2.在网站根目录新建一个文件back.php,内容如下

1<?php
2$date date('Y-m-d');
3$dj new SaeDeferredJob();
4$taskID=$dj->addTask("export","mysql","back","$date.sql.zip","数据库名","","");
5?>

其中addtask的第3个参数就是刚刚新建的storage名称

第4个参数是要保存的文件名,本文设置成当天日期
注意两点:
①可以把.sql改成.csv,这样导出的就是csv格式,.zip是可选项,不加也行。
②支持目录,例如test/$data.sql.zip就是把文件备份到test目录下

数据库名根据你的实际情况修改

3.编辑网站根目录下的config.yaml,这个用来设置cron,增加如下几行

1cron:
2    - description: back
3    url: back.php
4    schedule: every day of month 00:20
5    timezone: Beijing

url就是我们刚刚新建的php文件,schedule是调用频率,我们设置的是每天的00:20调用一次。

4.最后测试一下是否能正确导出,直接访问http://域名//back.php,然后到SAE管理面板查看对应的storage中是否有备份文件。