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,增加如下几行
1 | cron: |
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中是否有备份文件。