当前位置:网站首页>SAE定时备份博客数据库

SAE定时备份博客数据库

2022-08-09 08:09:00 51CTO


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

1.deferred job

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

2.cron

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

下面是操作步骤:

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

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

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


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

第4个参数是要保存的文件名,本文设置成当天日期

注意两点:

①可以把.sql改成.csv,这样导出的就是csv格式,.zip是可选项,不加也行。

②支持目录,例如test/$data.sql.zip就是把文件备份到test目录下

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

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

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


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

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



原网站

版权声明
本文为[51CTO]所创,转载请带上原文链接,感谢
https://blog.51cto.com/u_3457306/5557834