Konuyu Açan
#0
Veritabanı yedekleme, veri kaybını önlemek için kritik bir süreçtir. Özellikle birden fazla veritabanının yönetildiği sistemlerde, etkili bir yedekleme stratejisi oluşturmak önemlidir. Bu yazıda, birden fazla veritabanını yedeklemek için kullanılabilecek basit bir Python betiği üzerinde duracağız.
Öncelikle, Python ile yedekleme işlemi için gerekli kütüphaneleri yüklememiz gerekecek.
Aşağıda, temel bir yedekleme betiği örneği yer almaktadır:
Bu betikte,
Bu tür bir betik, sistem yöneticilerine veritabanlarını düzenli olarak yedekleme imkanı sunar ve acil durumlarda veri kurtarma işlemlerini kolaylaştırır. Veritabanı yedekleme süreçlerini otomatikleştirmek, sistemin güvenliğini artırarak veri kaybı riskini en aza indirecektir.
Öncelikle, Python ile yedekleme işlemi için gerekli kütüphaneleri yüklememiz gerekecek.
os, subprocess ve datetime kütüphaneleri, yedekleme işlemlerini yönetmek için kullanılacaktır.Aşağıda, temel bir yedekleme betiği örneği yer almaktadır:
CODE
1234567891011121314151617181920212223242526
import os
import subprocess
from datetime import datetime
[b]Veritabanı bilgileri[/b]
databases = ['db1', 'db2', 'db3']
user = 'kullanici_adiniz'
password = 'parolaniz'
backup_dir = '/yedekler/' + datetime.now().strftime('%Y%m%d_%H%M%S')
[b]Yedekleme dizini oluştur[/b]
os.makedirs(backup_dir, exist_ok=True)
for db in databases:
dump_file = os.path.join(backup_dir, f'{db}.sql')
try:
# Yedekleme komutu
subprocess.run(
['mysqldump', '-u', user, f'-p{password}', db],
stdout=open(dump_file, 'w'),
check=True
)
print(f"{db} veritabanı yedeklendi: {dump_file}")
except subprocess.CalledProcessError as e:
print(f"{db} veritabanı yedekleme sırasında hata oluştu: {e}")
Bu betikte,
databases listesi ile yedeklenecek veritabanlarını belirtiyoruz. Her bir veritabanı için mysqldump komutunu çalıştırarak, yedekleme dosyalarını belirtilen dizine kaydediyoruz. Yedekleme işlemi sırasında oluşabilecek hatalar için bir try-except bloğu kullanarak hata yönetimi sağlıyoruz.Bu tür bir betik, sistem yöneticilerine veritabanlarını düzenli olarak yedekleme imkanı sunar ve acil durumlarda veri kurtarma işlemlerini kolaylaştırır. Veritabanı yedekleme süreçlerini otomatikleştirmek, sistemin güvenliğini artırarak veri kaybı riskini en aza indirecektir.