【问题标题】:Backup strategy ubuntu laravel备份策略ubuntu laravel
【发布时间】:2018-12-18 15:47:17
【问题描述】:

我正在为我的 Web 应用程序文件搜索备份策略。

我在云中的 ubuntu (18.04) 服务器上托管我的 (laravel) 应用程序,目前有大约 80GB 的存储空间需要备份(这个增长很快)。最大的文件大约是 30mb,其余的是小的 jpg/txt/pdf 文件。

我想每天至少对存储目录进行 2 次完整备份,并将其作为 zip 文件存储在本地服务器上。我有两个原因:独立于云提供商,以及存档。

我的第一个备份策略是压缩存储文件夹的所有内容并同步 zip,这一直很好,直到几 GB 然后服务器完全卡在 cpu 使用率上。

我的第二种方法是使用 rsync,但我无法跟踪何时删除/添加文件。

我正在寻找一种好的备份策略,它最好在备份之前或之后生成 zip 并将它们存储起来,以便我们可以及时浏览和检查。

很奇怪,我找不到任何适合我的东西,我希望任何人都可以帮助我。

【问题讨论】:

  • 为什么不使用源代码管理(git、mecurial、svn)来备份您的应用程序文件
  • 嗯,以前没想过这个。要去调查这个!这不是关于应用程序文件(那些已经在 git 中),而是上传/生成的文件,例如:缩略图、估计、发票等。
  • 如果数据是用户数据存储在 git 中,可能不是最好的。特别是如果您在欧洲以外的地区开展业务,那么如果要备份的数据可以连接到用户,Gdpr 就会变得很棘手。很难从 git 中删除东西。

标签: laravel ubuntu zip backup rsync


【解决方案1】:

我同意@RobertFridzema 的观点,即使用 spatie 包中的 ZIP 功能时整个服务器变得无响应。

客户项目也有同样的情况。我的建议是将源代码文件保留在版本控制中。只需使用 rsync 备份动态/更改的文件(增量效果最佳且快速)并创建单独的数据库备份策略。例如使用 MySQL/Mariadb:mysqldump,加密生成的文件并将其移动到外部存储。

如果 ZIP 创建仍然是一个问题,我可能会使用已经设置了 raid 功能的存储,或者如果这不可能,我肯定不会在实时服务器上使用 ZIP 功能。 rsync增量到另一台服务器并在那里执行备份策略。

【讨论】:

    【解决方案2】:

    Spatie 有一个用于 Laravel 备份的包,可以在 laravel 作业调度程序中进行调度。它将使用整个项目创建 zip,包括存储目录

    https://github.com/spatie/laravel-backup

    【讨论】:

    • 生成 zip 会导致服务器因 cpu 使用而卡住。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-07
    • 2019-09-11
    • 1970-01-01
    • 1970-01-01
    • 2010-10-19
    相关资源
    最近更新 更多