✅ Nowości, motywy, wtyczki WEB i WordPress. Tutaj dzielimy się wskazówkami i najlepszymi rozwiązaniami dla stron internetowych.

Jak wykonać kopię zapasową aplikacji Laravel

15

Chcesz wykonać lub zaplanować kopię zapasową aplikacji Laravel? Utrzymywanie kopii zapasowej bazy danych i systemu plików Laravela zawsze jest dobrym pomysłem. Powinieneś zawsze mieć gotową kopię zapasową, jeśli coś pójdzie nie tak z serwerem lub aplikacją. W tym artykule dowiemy się, jak wykonać kopię zapasową aplikacji Laravel wraz z bazą danych.

Jeśli prowadzisz witrynę WordPress, istnieją wtyczki takie jak Updraftplus, które pozwalają nam przechowywać kopie zapasowe na serwerze lub w chmurze. Ale jeśli chodzi o Laravela, nie ma koncepcji takiej jak wtyczka. W Laravelu musimy zainstalować biblioteki i je skonfigurować.

Spatie opracował pakiet o nazwie laravel-backup, który jest przydatny do przechowywania kopii zapasowych Laravel. Ten pakiet zawiera również opcję, która umożliwia zaplanowanie procesu tworzenia kopii zapasowej.

Biorąc to pod uwagę, przyjrzyjmy się, jak wykonać kopię zapasową aplikacji Laravel z bazą danych.

Pierwsze kroki

Najnowsza wersja tego pakietu wymaga PHP 7.2 lub nowszego z modułem ZIP oraz Laravel 5.7 lub nowszego. Jeśli używasz starej wersji Laravela, dostępne są wersje 5 i 4 tego pakietu.

W tym samouczku używamy najnowszej wersji tej biblioteki. Najpierw musisz zainstalować pakiet, uruchamiając poniższe polecenie:

composer require spatie/laravel-backup

Po zainstalowaniu pakietu uruchom następne polecenie poniżej, które opublikuje plik konfiguracyjny do config/backup.php.

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

Udaj się do katalogu konfiguracyjnego i otwórz backup.phpw edytorze.

<?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',
        ],
 
    ......
        

W tym pliku musisz zastąpić 2 symbole zastępcze GIVE_PREFIX_HERE i YOUR_EMAIL_ADDRESS. Dla GIVE_PREFIX_HERE możesz podać dowolny prefiks, taki jak nazwa twojego projektu. To jest tylko prefiks nazwy pliku zip kopii zapasowej.

Użytkownik może również dołączyć i wykluczyć katalogi do kopii zapasowej. Dla include przekazaliśmy wartość base_path(), a dla opcji exclude wartości opcji to base_path(‘vendor’), base_path(‘node_modules’). Oznacza to, że w ostatecznej kopii zapasowej nie należy uwzględniać folderów vendor i nod_modules.

Przekazujemy również wartość dysków jako „lokalną". W ten sposób nasza kopia zapasowa zostanie zapisana w storage/app/Laravelfolderze. Możemy również przechowywać nasze kopie zapasowe w pamięci zewnętrznej, takiej jak s3, Rackspace, SFTP itp. Te ustawienia pamięci zewnętrznej wymagają dodatkowych kroków, aby skonfigurować system plików Laravel. Więcej na ten temat omówimy w innym przyszłym artykule. Jeśli szukasz zewnętrznej pamięci masowej, zapoznaj się z dokumentacją Laravela.

Kopia zapasowa aplikacji Laravel

Jak dotąd zakończyliśmy instalację i konfigurację. Teraz wszyscy przygotowaliśmy się do uruchomienia naszej pierwszej kopii zapasowej. Otwórz terminal w katalogu głównym projektu i uruchom polecenie:

php artisan backup:run

Powyższe polecenie utworzy kopię zapasową aplikacji Laravel. W folderze znajdziesz zip kopii zapasowej storage/app/Laravel. Kopia zapasowa zip zawiera pliki aplikacji, foldery i magazyn bazy danych.

Ta biblioteka pozwala nam również zaplanować proces tworzenia kopii zapasowej. Możemy zautomatyzować nasze zadanie tworzenia kopii zapasowej. W tym celu należy w app/Console/Kernel.phppliku napisać poniższy kod .

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

Codzienną kopię zapasową ustawiamy o godzinie 06:00. Użytkownik może zmienić ten czas zgodnie z ich wymaganiami.

Otóż ​​to! Chodzi o wykonanie kopii zapasowej aplikacji Laravel. Zdecydowanie zalecamy regularne tworzenie kopii zapasowych i chronienie aplikacji przed wszelkimi szkodliwymi okolicznościami.

Powiązane artykuły

Źródło nagrywania: artisansweb.net

Ta strona korzysta z plików cookie, aby poprawić Twoje wrażenia. Zakładamy, że nie masz nic przeciwko, ale możesz zrezygnować, jeśli chcesz. Akceptuję Więcej szczegółów