2017-06-06 44 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