在支持upp live Laravel应用

时间:2017-06-06 09:32:17

标签: php mysql laravel digital-ocean laravel-forge

我需要每天备份我的实时Laravel应用程序,以及存储用户上传图片的特定文件夹的内容。

我已经四处搜索并了解可以使用各种Laravel程序包执行此操作,但是否有任何方法可以确保用户在备份过程中不会更改数据库/文件夹?

我想避免这样的情况:

  • 表D被改变但首先 在备份表A之后,弄乱它们之间的关系。所以 当数据库备份完成时,可能会有不同的数量 表A和表D中的行,即使它们需要具有相同的行 行数。
  • 用户在其文件夹中有10张图片,在备份过程中他有 删除一张图片。在备份用户图像的表之后,但在备份用户的图片文件夹之前进行删除。所以 备份完成后,数据库将声明用户有10 图片,但只备份了9张图片。

我觉得有点难以解释,但我希望你明白。

可能会设置一个cronjob吗?

是否可以将应用程序设置为维护模式,并且只有在备份完成100%后才删除该模式?

如果可能的话,我宁愿进行备份而不必设置维护模式。

我正在使用数字海洋上的mysql和Laravel 5.3,如果它有任何相关性,可以使用Laravel forge。

我会非常感谢任何建议,谢谢! :)

1 个答案:

答案 0 :(得分:0)

如果您使用Digital Ocean,答案很简单:服务器的实时快照。像一个魅力,0停机时间,如果发生的事情很容易恢复: - )

请注意,只有在您的网络服务器上托管数据库时,这才有效!