laravel

Laravel Veritabanı nasıl yedeklenir

Laravel Veritabanı nasıl yedeklenir

Sorun

Ne yazık ki, birçok yeni Laravel geliştiricisi, kodlarını üretime geçirene kadar bunu fark etmez ve bir şey olur ve verilerini kaybederler.

Laravel, temel işlevlerinin bir parçası olarak bir veritabanı yedeği sunmaz, bu nedenle yeni Laravel geliştiricileri, Laravel makalelerini okurken veya bir Laravel uygulaması oluştururken bununla çalışmaz.

Bugün, kullanmanız gerekebileceği ihtimaline karşı yedek verilerinizi depolamak ve korumak giderek daha önemli hale geliyor.

Yeni Laravel geliştiricilerinin yaptığı yaygın hatalar, phpmyadmin'e gitmek ve bu dışa aktarmayı manuel olarak çalıştırmayı denemektir. Bu yine de işe yarayacak olsa da, en iyi uygulama değildir çünkü bazen yedekleme yapmak için orada olmazsınız ve kullanıcılarınız zaten yeni veriler oluşturmuştur.

Yapmak istediğin şey bunu otomatikleştirmek.

Çözüm

Veritabanınızı yedeklemek için yapabileceğiniz birçok yol vardır ancak bu paketi kullanan kişi sayısı kaçtır https://github.com/spatie/laravel-backup . Arkasındaki şirket sektörde çok güvenilir ve bilinir.

Her şeyden önce, paket ÜCRETSİZDİR, bu nedenle herhangi bir ödeme yapmanız gerekmez.

Artı tarafta, kurulum oldukça basit ve özellikle sevdiğim şey, sadece veritabanı yedeklemenizi yapmakla kalmıyor, aynı zamanda dosyalarınızı yedekleme ve ardından hepsini bir zip dosyasında saklama seçeneğiniz de var. Dosyalar derken, belge yüklemeleri veya uygulamanızla oluşturduğunuz dosyalar gibi depolama dosyalarını kastediyorum.

Ek olarak, bunu akıllıca bir şey olan AWS S3'e de taşıyabilirsiniz. Tek yapmanız gereken (zaten bir AWS hesabınız olduğunu varsayarsak, gidip yeni izinlere sahip yeni bir S3 kovası oluşturmaktır). Ardından, Github sayfasındaki belgeleri takip edebilirsiniz.

Slack ve E-posta gibi diğer araçlar aracılığıyla bildirimler almak için ince ayar yapabileceğiniz yapılandırma dosyasının hızlı bir önizlemesini burada bulabilirsiniz.

'bildirimler' => [
'bildirimler' => [
\Spatie\Backup\Bildirimler\Bildirimler\BackupHasFailed::class => ['posta', 'gevşek'],
\Spatie\Backup\Bildirimler\Bildirimler\UnhealthBackupWasFound::class => ['posta', 'gevşek'],
\Spatie\Backup\Bildirimler\Bildirimler\CleanupHasFailed::class => ['posta', 'gevşek'],
\Spatie\Backup\Bildirimler\Bildirimler\BackupWasSuccessful::class => ['posta', 'gevşek'],
\Spatie\Backup\Bildirimler\Bildirimler\HealthyBackupWasFound::class => ['posta', 'gevşek'],
\Spatie\Backup\Bildirimler\Bildirimler\TemizlikWasSuccessful::class => ['posta', 'gevşek'],
],
/*
* Burada bildirimlerin gönderileceği bildirimi belirtebilirsiniz. Varsayılan
* bildirilebilir, bu yapılandırma dosyasında belirtilen değişkenleri kullanır.
*/
'bildirilebilir' => \Spatie\Backup\Bildirimler\Bildirilebilir::class,
'posta' => [
'to' => ['editö[email protected]'],
],
'gevşek' => [
'webhook_url' => 'https://hook'lar.gevşek.com/services/ABMGGK7AB/B9PBCDSM8/kam02gzLrycaUBctgAdRv52M',
/*
* Bu, boş olarak ayarlanırsa, web kancasının varsayılan kanalı kullanılacaktır.
*/
'kanal' => boş,
],
],

Otomasyonu ayarla

Son olarak, otomasyon bölümünü atlamaya karar verirseniz, tüm bunlar pek bir anlam ifade etmeyecektir. Bunun için, ana makinenizde zaten etkinleştirilmesi gereken cron işlerine güvenmek ve aşağıdaki gibi Laravel zamanlama komutuna işaret etmek istiyorsunuz:

* * * * * cd /projenize giden yol && php zanaatkar programı:run >> /dev/null 2>&1

Buradan, uygulamanızda/Konsolunuzda/Çekirdeğinizde.php dosyasını belirli bir zamanda otomatikleştirmek istiyorsanız aşağıdakileri yapmalısınız (bunu genellikle kullanıcılarımızın çoğu uykudayken yaparım):

if (app('env') == 'üretim')
$schedule->command('backup:clean')->daily()->at('01:00');
$schedule->command('backup:run')->daily()->at('02:00');
Daha Önce Bir Linux Sürümü Olmayan Linux için HD Remastered Oyunlar
Birçok oyun geliştiricisi ve yayıncısı, franchise'ın ömrünü uzatmak için eski oyunların HD remaster'ı ile geliyor, lütfen modern donanımla uyumluluk i...
Linux Oyunlarını Otomatikleştirmek için AutoKey Nasıl Kullanılır?
AutoKey, Linux ve X11 için Python 3, GTK ve Qt'de programlanmış bir masaüstü otomasyon aracıdır. Komut dosyası oluşturma ve MAKRO işlevselliğini kulla...
How to Show FPS Counter in Linux Games
Linux gaming got a major push when Valve announced Linux support for Steam client and their games in 2012. Since then, many AAA and indie games have m...