Hur man tar backup av Laravel Application
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.php
i 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/Laravel
mappen. 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.php
filen.
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
- Hur man tar backup av Laravel Application och lagrar det på Amazon S3
- Skicka e-post via Gmail SMTP-server i Laravel
- Hur man installerar och använder CKEditor i Laravel