✅ WEB- och WordPress -nyheter, teman, plugins. Här delar vi tips och bästa webbplatslösningar.

Hur man tar backup av Laravel Application

16

Vill du ta eller schemalägga en säkerhetskopia av Laravel-applikationen? Att hålla säkerhetskopian av Laravel-databasen och filsystemet alltid en bra idé. Du bör ha din säkerhetskopia klar när som helst om något går fel på din server eller applikation. I den här artikeln studerar vi hur man tar backup av Laravel-applikationen med databasen.

Om du kör en WordPress-webbplats finns det plugins som Updraftplus som gör att vi kan lagra säkerhetskopior på servern eller på molnet. Men när det gäller Laravel finns det inget koncept som ett plugin. I Laravel måste vi installera bibliotek och konfigurera det.

Spatie har utvecklat ett paket som heter laravel-backup vilket är användbart för lagring av Laravel backup. Detta paket ger också ett alternativ som kan schemalägga din säkerhetskopieringsprocess.

Med det sagt, låt oss ta en titt på hur man tar backup av Laravel-applikationen med databasen.

Komma igång

Den senaste versionen av detta paket kräver PHP 7.2 eller högre med ZIP-modulen och Laravel 5.7 eller högre. Om du använder den gamla versionen av Laravel är version 5 och version 4 av detta paket tillgänglig.

För den här handledningen använder vi den senaste versionen av detta bibliotek. Först måste du installera paketet genom att köra kommandot nedan:

composer require spatie/laravel-backup

När du har installerat paketet kör du nästa kommando nedan som kommer att publicera konfigurationsfilen till config/backup.php.

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

Gå över till din konfigurationskatalog och öppna den backup.phpi redigeraren.

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

I den här filen måste du ersätta två platshållare GIVE_PREFIX_HERE och YOUR_EMAIL_ADDRESS. För GIVE_PREFIX_HERE kan du ge valfritt prefix som ditt projektnamn. Detta är bara ett prefixnamn för zip-filen för säkerhetskopiering.

En användare kan också inkludera och utesluta katalogerna för säkerhetskopiering. För inkluderingen har vi skickat värdet base_path() och för exclude är värden base_path (‘vendor’), base_path (‘node_modules’). Det innebär att inte inkludera leverantörs- och nod_modules-mappar i den slutliga säkerhetskopian.

Vi skickar också ett diskvärde som "lokalt". Om du gör det lagras vår säkerhetskopia i storage/app/Laravelmappen. Vi kan också lagra våra säkerhetskopior till extern lagring som s3, Rackspace, SFTP, etc. Dessa externa lagringsinställningar kräver några ytterligare steg för att konfigurera med Laravel filsystem. Vi kommer att täcka mer om detta i en annan framtida artikel. Läs Laravel-dokumentationen om du letar efter extern lagring .

Säkerhetskopiering av Laravel-applikationen

Hittills är vi klara med installationen och installationen. Nu är vi redo att köra vår första säkerhetskopia. Öppna terminalen i din projektkatalog och kör kommandot:

php artisan backup:run

Ovanför kommandot skulle skapa en säkerhetskopia av Laravel-applikationen. Du hittar zip-filen för säkerhetskopiering i mappen storage/app/Laravel. Backup-zip innehåller dina applikationsfiler, mappar och databasbutik i den.

Detta bibliotek tillåter oss också att schemalägga en säkerhetskopieringsprocess. Vi kan automatisera vår säkerhetskopieringsuppgift. För detta bör du skriva nedanstående kod i app/Console/Kernel.phpfilen.

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

Vi ställer in daglig säkerhetskopia klockan 06:00. Användaren kan ändra den här tiden enligt deras krav.

Det är allt! Det handlar om att ta en säkerhetskopia av Laravel-applikationen. Vi rekommenderar starkt att säkerhetskopiera regelbundet och skydda din applikation från skadliga omständigheter.

relaterade artiklar

Inspelningskälla: artisansweb.net

Denna webbplats använder cookies för att förbättra din upplevelse. Vi antar att du är ok med detta, men du kan välja bort det om du vill. Jag accepterar Fler detaljer