Python ile SQLite Veritabanı Yedekleme Sistemi Nasıl Kurulur?

0 Respuestas 4 Visitas
·
Participantes
Autor del tema #1
Günümüzde birçok uygulama, verilerini güvenli ve erişilebilir tutmak adına düzenli yedekleme işlemlerini otomatik hale getiriyor. Bu bağlamda, Python ve SQLite kullanarak basit ama etkili bir yedekleme sistemi kurmak, hem pratik hem de güvenli bir çözüm sunuyor. Peki, bu sistemi nasıl kurabiliriz? İşte detaylar.

Öncelikle, Python'un yerleşik sqlite3 modülü ve dosya işlemleri için shutil veya os modülü işimizi görecektir. Bu sayede, belirli aralıklarla veritabanı dosyasını kopyalayarak yedekleme işlemini otomatik hale getirebiliriz. Basit bir örnekle anlatmak gerekirse, aşağıdaki kod parçası, backup_sqlite.py isimli dosyada çalıştırıldığında, belirttiğiniz yedekleme dizinine güncel veritabanı kopyasını oluşturur:

CÓDIGO
123456789101112131415161718192021222324
import os
import shutil
from datetime import datetime

[b]Ana veritabanı yolu[/b]
db_path = 'veritabani.db'
[b]Yedekleme dizini[/b]
backup_dir = 'yedekler'

[b]Yedekleme dizini yoksa oluştur[/b]
if not os.path.exists(backup_dir):
    os.makedirs(backup_dir)

[b]Güncel tarih ve saat formatı[/b]
timestamp = datetime.now().strftime('%Y%m%d_%H%M%S')

[b]Yedek dosya adı[/b]
backup_path = os.path.join(backup_dir, f'veritabani_backup_{timestamp}.db')

[b]Dosyayı kopyala[/b]
shutil.copy2(db_path, backup_path)

print(f'Yedekleme tamamlandı: {backup_path}')


Bu temel script, günlük veya belirli zamanlarda çalıştırıldığında, veritabanınızın o anki halini zaman damgasıyla adlandırılmış dosyalar halinde saklar. İşte burada dikkat edilmesi gereken birkaç husus var:

1. Otomasyon: Windows Task Scheduler veya Linux cron ile bu scripti düzenli aralıklarla çalıştırabilirsiniz. Bu sayede manuel müdahale gerekmez.

2. Yedekleme Stratejisi: Yedekleri sadece belirli zamanlarda almak yerine, artımlı veya farklı stratejiler de uygulayabilirsiniz. Mesela, en son yedekleri tutmak veya farklı lokasyonlara çoğaltmak gibi.

3. Güvenlik ve Saklama Süresi: Yedeklerinizin güvenliği açısından erişim izinlerini kontrol edin ve eski yedekleri otomatik silme veya arşivleme planları yapın. Ayrıca, yedekleme dosyalarını şifreleme ile koruma altına alabilirsiniz.

Gelişmiş ihtiyaçlar için, yedekleme sırasında veritabanını kapatıp, işlemi daha güvenli hale getirebilir veya SQL dump alınmasını tercih edebilirsiniz. Ancak, çoğu zaman bu temel yaklaşım, uygulama seviyesinde yeterli ve pratiktir.

Bu yöntemin temel avantajı, basitliği ve esnekliğidir; ayrıca, herhangi bir SQL kodu veya karmaşık yapı gerektirmeden, veritabanınızın her zaman güncel bir yedeğine sahip olmanızı sağlar.

Debes haber iniciado sesión para responder.

0 citas seleccionadas