Foruma hoş geldin 👋, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

Yedekleme Botum Disk Dolunca "Ben Devam Ediyorum Abi" Dedi, Sonuç: Felaket!

asternix

Üye
Katılım
14 Mart 2026
Mesajlar
39
Kafayı yiyecektim ya! Otomatik MySQL yedekleme botu yazdım, her şey mükemmel çalışıyor sandım. Meğerse bot, yedekleri attığı sunucudaki disk alanı bitene kadar hiç oralı olmamış. "Space check" yapmayı unutmuşum. Şaka gibi ama...

💾 "Disk Full" Diye Bir Şey Var Muydu Ki?

Olay şu: Cron job ile çalışan bot, her gece düzenli mysqldump alıp, tarihli bir .sql.gz dosyası oluşturuyor ve belirlediğim /backups klasörüne atıyordu. Aylarca sorunsuz çalıştı. Ta ki sunucu admin'inden "Disk doldu, servisler çöktü!" diye panik mesajı gelene kadar. Loglara baktım, bot son yedeklemede 0 byte'lık bir dosya oluşturmuş ve hiçbir hata fırlatmadan işlemi "başarıyla" tamamlamış. os.statvfs ile kontrol etmek aklıma bile gelmemişti.

Python:
# YAPTIĞIM (Felaketin kodu):
subprocess.run(f"mysqldump -u {user} {db} | gzip > {backup_path}", shell=True)

# YAPMAM GEREKEN (Acı bir şekilde öğrendiğim):
import shutil
total, used, free = shutil.disk_usage("/backups")
if free < 10243:  # 1 GB'den azsa
    raise Exception("YETERLİ ALAN YOK ABİ!")

🛠️ Kurtarma Operasyonu ve Alınan Ders

İlk iş, eski yedekleri temizleyen bir "yedek yönetici" scripti yazmak oldu. glob ve os.path.getmtime ile en eski 10 yedeği silecek şekilde ayarladım. Sonra ana bota, yedekleme öncesi disk alanı kontrolü, yetersizse eski yedekleri temizleme ve ancak ondan sonra yeni yedek alma mantığını ekledim. Bir de logging ile her adımı mail atar hale getirdim. StackOverflow'da bile bu kadar basit bir hatayı nasıl gözden kaçırdığıma şaşırdım.

Kod yazan herkese tavsiyem: Dosya yazdıran her scriptinize, önce "yazacak yer var mı?" diye sormayı UNUTMAYIN. Ben unuttum, sunucu çöktü.

Siz de benzer bir "gözden kaçan basit hata" yüzünden başınızı duvarlara vurduğunuz oldu mu? Otomatik yedekleme için kullandığınız daha şık bir yöntem var mı?
 

Tema özelleştirme sistemi

Bu menüden forum temasının bazı alanlarını kendinize özel olarak düzenleye bilirsiniz.

Zevkine göre renk kombinasyonunu belirle

Tam ekran yada dar ekran

Temanızın gövde büyüklüğünü sevkiniz, ihtiyacınıza göre dar yada geniş olarak kulana bilirsiniz.

Geri