2017-06-06 104 views
0

我需要备份每天备份我的Laravel应用程序,以及用户上传的图片存储在其中的特定文件夹的内容。保持文件夹和表同步,同时支持upp live Laravel应用

我周围搜索并了解可以使用各种Laravel包进行此操作,但有什么方法可以确保在备份过程中数据库/文件夹不会被用户更改吗?

我想避免这样的情况:表格中的备份第一 后

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

我觉得有点难以解释,但我希望你能理解。

也许设置一个cronjob会做什么?

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

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

我在数字海洋上使用mysql和Laravel 5.3,并且有Laravel伪造,如果它有任何相关性的话。

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

+0

您正在寻找此软件包:https://github.com/spatie/laravel-backup – Kyslik

+0

'php artisan down'将应用程序置于维护模式,'php artisan up'将其倒置。 – apokryfos

+0

是的,我正在考虑使用php artisan和dow以及两者之间的备份。是否可以在备份完成后首先运行up命令? – snubbus

回答

0

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

请注意,这只适用于您的数据库托管在您的网络服务器!

+0

感谢您的回复,但从我读过的快照和备份都需要关闭墨滴以保持数据同步 – snubbus