Database'im Silinmiş
-
Ne yaptıysam hiçbir şekilde olumlu dönmediler, en son mail attım durumu anlattım yine aynı cevabı verdiler, yani komple gitti her şey mailler falan, burada tavsiyeler vermişsiniz de ben en az 15 senedir bilgisayar ve bilgisayar işlerinden biraz uzak kaldım burada yazdıklarınızı bizim yazılımcı çocuklara aktaracağım ona göre bir yol izleyeceğiz kendimiz yapabilirsek yapalım dediğiniz gibi. Ama güme gitti..
-
Hocam yanlışım yoksa guzelnetin ortaklarindan eski sadecehosting sahibi vardı. İstersen o adama ulaş.
Selçuk Saraç yanlış hatırlamıyorsam.
-
Hocalar nacizane fikrim, backup almak firmayla özel bir anlaşman yoksa, paketinde yoksa kişinin sorumluluğunda. Her daim 10mb lık database de olsa gerekirse gün aşırı backup almak gerekir. Özellikle fiziksel hostinglerde barınan ortamlarda bunun yaşanma ihtimali çok yüksek. Disk dediklerimizin en sağlamında bile failure potansiyeli çok yüksek. Konuyla alakalı diye yazdım hocam, akıl vermek gibi düşünme ya da yaranı deşmek gibi.
-
Basit ama kullanışlı bir örnek vereyim sizlere. Cloudflare ı herkes bilir R2 diye bir amazon un s3 üne benzer bir servisi var https://developers.cloudflare.com/r2/ buradan dökümana ulaşabilirsiniz. En güzel yanı amazon S3 ü için yazılmış bütün kütüphaneler burası içinde çalışır halde çünkü birebir o servisin kopyası gibi yazmışlar. 10GB alana kadar ücretsiz https://developers.cloudflare.com/r2/pricing buradan diğer fiyat detaylarını öğrenebilirsiniz. Ben şu şekilde bir crm de kullanıyorum. Sistemde kullanıcılar avatar ve dosya yükleyebiliyor bunları bir bucketına atıyorum. Ek olarak 6 saatte bir basit bir cronjob çalıştırıp bütün veritabanı yedeğini sql.gz olarak bucket içindeki farklı bir klasörede koyuyorum. Bu cronjob da 12 adet backup tutmasını sağlıyorum 13. yedek gelince en eski yedeği otomatik siliyor bu sayede şişme derdinden de kurtuluyorum. Kodlarda github da private repoda duruyor makina yansa bile en kötü ihtimalle 6 saat önceki backup a geri dönerim ki bu süreyi dilerseniz 30dk ya yada daha azına çekebilirsiniz. Örnek bir kodu aşağıda paylaşıyorum laravel kullanan arkadaşlar anında kullanabilir. Buna benzer yapılar her zaman hayat kurtarır.
<?php namespace App\Console\Commands; use Illuminate\Console\Command; use Illuminate\Support\Carbon; use Illuminate\Support\Facades\Config; use Illuminate\Support\Facades\Storage; use Spatie\DbDumper\Compressors\GzipCompressor; use Spatie\DbDumper\Databases\MySql; class BackupDatabase extends Command { protected $signature = 'backup-database'; protected string $disk = 'r2-file'; protected int $keep = 12; public function handle() { $dateTime = Carbon::now()->format('Y-m-d_H-i-s'); $fileName = $dateTime.'.sql.gz'; $localLocation = '/tmp/'.$fileName; $remoteLocation = 'db/'.$fileName; MySql::create() ->setHost(Config::get('database.connections.mysql.host')) ->setDbName(Config::get('database.connections.mysql.database')) ->setUserName(Config::get('database.connections.mysql.username')) ->setPassword(Config::get('database.connections.mysql.password')) ->useCompressor(new GzipCompressor()) ->dumpToFile($localLocation); Storage::disk($this->disk)->put($remoteLocation, file_get_contents($localLocation)); unlink($localLocation); $files = Storage::disk($this->disk)->files('db'); $totalFile = count($files); if($totalFile > $this->keep) { $files = array_reverse($files); $i = 1; foreach ($files as $file) { if($i > $this->keep){ Storage::disk($this->disk)->delete($file); } $i++; } } } }
Schedule tarafında da bu tanımlamayı yapıyorum$schedule->command('backup-database')->cron('0 */6 * * *')->timezone('Europe/Istanbul');
Basit ama işe yarar bir yapıdır.
-
Zamanında arkadaşın sitesi için godaddy den hosting almıştık. Para odenmeyince kapatmışlar. Aradık bir haftalik ücret karşılığı açtılar. Yedekleri aldık. Geç olacak ama Türkiye'den hosting türevi şeyler almamak lazım.
2 yıllık yedek diyorsun. Bu işi yapan firma en azından haftalık, aylık, yıllık yedek almak zorunda. Nasıl yedek yok anlamak elde değil. 2 yıl müthiş uzun bir süre. Diyelim ki hosting aldım. Suç unsuru bulunacak faaliyet gösterdim. Sonrada sildim siteyi kaçtım. Savcılığa yedek tutmadik mı diyecekler? Saçma.
-
yedek vardır ama tam sunucu yedeği olduğu için senin siteyi aradan ayıklamaya üşeniyorlardır. çok önemliyse ek masrafları karşılarım de. en fazla bir aylık dedicated masrafı kaçar.
-
En sıkıntılı korktuğum şeydir arada aklıma geldikçe manuel ben yedek alıyorum ama kullandığım sitelerde sırf otomatik sadece veritabanını alan eklentilerle çözümler sağlıyorum. Onlarıda farklı sunucuya drive vs. otomatik yükletiyorum. kafam rahat oluyor. Mevcut siteleriniz wp-opencart vs. ise bu tarz 20-30$ lık bir eklenti ile harici platformlara otomatik yedekletebilirsiniz. Bazıları daha gelişmiş oluyor. 3 günde bir tekrar edip eski dosyasının üzerine yazıyor hem diğer tarafta dolmuyor hemde her zamanda son 3 günlük 3 dosya her zaman yedekte duruyor. Kodlama ayarla fazla haşırneşir olamaylar için önerim budur.
Zeytun-i seninde allah yardımcın olsun ama imkan varsa telefonla değilde direk birebir gidip yüz yüze bir muhattap bul çok önemliyse arkadaşlarında dediği gibi illaki backup vardır adamlar ayıklayıp uğraşmamak için seni sallıyolar kesin. Biraz edebiyat yapmak lazım orada.