laravel

Laravel Як створити резервну копію бази даних

Laravel Як створити резервну копію бази даних

Проблема

На жаль, багато нових розробників Laravel не усвідомлюють цього, поки не вводять свій код у виробництво, і щось трапляється, тому вони втрачають свої дані.

Laravel не пропонує резервне копіювання бази даних як частину їх основних функціональних можливостей, тому нові розробники Laravel не можуть працювати з цим, читаючи статті Laravel або створюючи додаток Laravel.

На сьогоднішній день стає дедалі важливішою справою зберігати та зберігати резервні дані на випадок, якщо вам коли-небудь знадобиться їх використовувати.

Типові помилки, які роблять нові розробники Laravel, - це перейти на phpmyadmin і спробувати запустити цей експорт вручну. Хоча це все одно буде працювати, це не найкраща практика, оскільки іноді ви не будете там, щоб зробити резервну копію, і ваші користувачі вже створили нові дані.

Що ви хочете зробити, це автоматизувати це.

Рішення

Існує багато способів зробити резервну копію бази даних, але скільки людей це використовують, використовуючи цей пакет https: // github.com / spatie / laravel-backup . Компанія, яка стоїть за нею, дуже надійна і відома в галузі.

Перш за все, пакет БЕЗКОШТОВНИЙ, тому вам не потрібно нічого платити.

Позитивним моментом є те, що установка досить проста, і мені особливо подобається те, що вона не тільки створює резервну копію бази даних, але й має можливість резервного копіювання файлів, а потім зберігання всього цього у zip-файлі. Коли я кажу про файли, я маю на увазі файли зберігання, такі як завантажені документи або файли, які ви створюєте разом із вашим додатком.

Крім того, ви також можете перенести це на AWS S3, що розумно зробити. Все, що вам потрібно зробити, це (якщо ви вже маєте обліковий запис AWS, це створити новий сегмент S3 з новими дозволами. Тоді ви можете просто стежити за документацією на їхній сторінці Github.

Ось короткий попередній перегляд конфігураційного файлу, який ви можете налаштувати, щоб отримувати сповіщення через інші носії, такі як Slack та Email.

'сповіщення' => [
'сповіщення' => [
\ Spatie \ Backup \ Notifications \ Notifications \ BackupHasFailed :: class => ['mail', 'slack'],
\ Spatie \ Backup \ Notifications \ Notifications \ UnhealthyBackupWasFound :: class => ['mail', 'slack'],
\ Spatie \ Backup \ Notifications \ Notifications \ CleanupHasFailed :: class => ['mail', 'slack'],
\ Spatie \ Backup \ Notifications \ Notifications \ BackupWasSuccessful :: class => ['mail', 'slack'],
\ Spatie \ Backup \ Notifications \ Notifications \ HealthyBackupWasFound :: class => ['mail', 'slack'],
\ Spatie \ Backup \ Notifications \ Notifications \ CleanupWasSuccessful :: class => ['mail', 'slack'],
],
/ *
* Тут ви можете вказати повідомлення, на яке слід надсилати сповіщення. За замовчуванням
* notifiable використовуватиме змінні, зазначені в цьому конфігураційному файлі.
* /
'notifiable' => \ Spatie \ Backup \ Notifications \ Notifiable :: клас,
'пошта' => [
'to' => ['редактор @ linuxhint.com '],
],
'слабкість' => [
'webhook_url' => 'https: // гачки.млявість.com / services / ABMGGK7AB / B9PBCDSM8 / kam02gzLrycaUBctgAdRv52M ',
/ *
* Якщо для цього значення встановлено нуль, буде використовуватися канал веб-хука за замовчуванням.
* /
'channel' => null,
],
],

Налаштуйте автоматизацію

Нарешті, все це мало б особливого сенсу, якби ви вирішили пропустити частину автоматизації. Для цього ви хочете покластися на завдання cron, які вже повинні бути включені на вашому хості та вказівник на команду розкладу Laravel, як це:

* * * * * cd / path-to-your-project && php artisan графік: запуск >> / dev / null 2> & 1

Звідси у вашому додатку / консолі / ядрі.php, вам слід зробити наступне, якщо ви хочете автоматизувати його в певний час (я зазвичай роблю це, коли більшість наших користувачів спить):

if (app ('env') == 'production')
$ schedule-> command ('backup: clean') -> daily () -> at ('01: 00 ');
$ schedule-> command ('backup: run') -> daily () -> at ('02: 00 ');
Кращі програми для картографування геймпадів для Linux
Якщо ви любите грати в ігри на Linux із геймпадом замість типової системи введення клавіатури та миші, є кілька корисних програм для вас. Багато ігор ...
Корисні інструменти для геймерів Linux
Якщо ви любите грати в ігри на Linux, швидше за все, ви, можливо, використовували додатки та утиліти, такі як Wine, Lutris та OBS Studio, щоб покращит...
HD Remastered Games для Linux, які раніше ніколи не випускали Linux
Багато розробників і видавців ігор випускають HD-ремастер старих ігор, щоб продовжити життя франшизи. Будь ласка, шанувальники просять сумісність із с...