...
✅ WEB і WordPress новини, теми, плагіни. Тут ми ділимося порадами і кращими рішеннями для сайтів.

Як зробити резервну копію програми Laravel

34

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

Якщо ви працюєте на веб-сайті WordPress, то існують такі плагіни, як Updraftplus, що дозволяє зберігати резервні копії на сервері або в хмарі. Але коли справа стосується Laravel, то тут немає такого поняття, як плагін. У Laravel нам потрібно встановити бібліотеки та налаштувати її.

Spatie розробив пакет під назвою laravel-backup, який корисний для зберігання резервної копії Laravel. Цей пакет також пропонує опцію, яка може запланувати процес резервного копіювання.

З огляду на це, давайте подивимося, як зробити резервну копію програми Laravel з базою даних.

Починаємо

Остання версія цього пакету вимагає PHP 7.2 або вище із модулем ZIP та Laravel 5.7 або вище. Якщо ви використовуєте стару версію Laravel, тоді доступна версія 5 та версія 4 цього пакету.

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

composer require spatie/laravel-backup

Після встановлення пакета запустіть наступну команду, яка опублікує файл конфігурації config/backup.php.

php artisan vendor:publish --provider="SpatieBackupBackupServiceProvider"

Перейдіть до каталогу конфігурації та відкрийте backup.phpв редакторі.

<?php
 
return [
 
        .......
 
        'source' => [
 
            'files' => [
 
                /*
                 * The list of directories and files that will be included in the backup.
                 */
                'include' => [
                    base_path(),
                ],
 
                /*
                 * These directories and files will be excluded from the backup.
                 *
                 * Directories used by the backup process will automatically be excluded.
                 */
                'exclude' => [
                    base_path('vendor'),
                    base_path('node_modules'),
                ],
 
                /*
                 * Determines if symlinks should be followed.
                 */
                'followLinks' => false,
            ],
 
        .......
 
        'destination' => [
 
            /*
             * The filename prefix used for the backup zip file.
             */
            'filename_prefix' => 'GIVE_PREFIX_HERE',
 
            /*
             * The disk names on which the backups will be stored.
             */
            'disks' => [
                'local',
            ],
        ],
    ],
 
    ......
 
        /*
         * Here you can specify the notifiable to which the notifications should be sent. The default
         * notifiable will use the variables specified in this config file.
         */
        'notifiable' => SpatieBackupNotificationsNotifiable::class,
 
        'mail' => [
            'to' => 'YOUR_EMAIL_ADDRESS',
        ],
 
    ......
        

У цьому файлі вам потрібно замінити 2 заповнювачі GIVE_PREFIX_HERE та YOUR_EMAIL_ADDRESS. Для GIVE_PREFIX_HERE ви можете вказати будь-який префікс, як-от назва проекту. Це лише назва префікса для zip-файлу резервної копії.

Користувач може також включати та виключати каталоги для резервного копіювання. Для включення ми передали значення base_path(), а для параметра виключення – base_path (‘постачальник’), base_path (‘node_modules’). Це означає, що не включати папки постачальника та nod_modules в остаточну резервну копію.

Ми також передаємо значення диска як "локальний". Таким чином наша резервна копія буде збережена в storage/app/Laravelпапці. Ми також можемо зберігати наші резервні копії на зовнішньому сховищі, наприклад s3, Rackspace, SFTP тощо. Ці налаштування зовнішнього сховища вимагають додаткових кроків для налаштування за допомогою файлової системи Laravel. Детальніше про це ми поговоримо в іншій наступній статті. Якщо ви шукаєте зовнішнє сховище, будь ласка, прочитайте документацію Laravel.

Резервне копіювання програми Laravel

Поки що ми закінчили з установкою та налаштуванням. Тепер ми всі готові запустити нашу першу резервну копію. Відкрийте термінал у кореневому каталозі проекту та запустіть команду:

php artisan backup:run

Вище наведена команда створить резервну копію програми Laravel. Ви знайдете zip-копію резервної копії у цій папці storage/app/Laravel. Архів резервної копії містить у ній файли програм, папки та сховище баз даних.

Ця бібліотека також дозволяє нам планувати процес резервного копіювання. Ми можемо автоматизувати наше завдання резервного копіювання. Для цього вам слід написати нижче app/Console/Kernel.phpфайл у файлі.

protected function schedule(Schedule $schedule)
{
    $schedule->command('backup:run')->daily()->at('06:00');
}

Ми встановлюємо щоденне резервне копіювання о 06:00. Користувач може змінити цей час відповідно до своїх вимог.

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

Пов’язані статті

Джерело запису: artisansweb.net

Цей веб -сайт використовує файли cookie, щоб покращити ваш досвід. Ми припустимо, що з цим все гаразд, але ви можете відмовитися, якщо захочете. Прийняти Читати далі