İçeriğe geç

Yedekleme ve geri yükleme

Gece yedeklerinin nerede durduğu, ne kadar saklandığı, elle yedek almak ve veritabanını ya da dosyaları geri yüklemek.

Tek komutla kurulan her BorCube sitesi her gece kendini yedekler. Yedekler sunucunda /var/backups/borcube klasöründe durur. Bu makale yedeklerin içeriğini, elle yedek almayı ve geri yüklemeyi anlatır.

Otomatik yedekler#

Kurulum komutu sunucuya borcube-backup adlı bir yedek görevi kurar:

  • Ne zaman: her gece sunucu saatiyle 04:10'da, 15 dakikaya kadar gecikmeyle. Sunucu o saatte kapalıysa yedek, sunucu açılınca alınır.
  • Güncellemeden önce: her güncellemeden hemen önce de aynı yedek alınır.
  • Nerede: /var/backups/borcube. Bu klasörü yalnız root okuyabilir.
  • Ne kadar: 14 günden eski yedekler kendiliğinden silinir.

Her yedek iki dosyadır. Dosya adındaki sayılar yedeğin tarihi ve saatidir:

Dosyaİçinde ne var?
db-20261011-041000.sql.gzVeritabanı: üyeler, siparişler, krediler, ayarlar, sayfalar
data-20261011-041000.tar.gzVeri klasörü /var/lib/borcube: yüklenen dosyalar, temalar ve config.json

Önbellek (cache) ve güncelleme paketleri (updates) yedeğe girmez. BorCube'un program dosyaları da yedeğe girmez; onları kurulum komutu yeniden kurar.

Yedekleri görmek ve elle yedek almak#

Yedekleri listelemek için:

Komut
sudo ls -lt /var/backups/borcube

Büyük bir değişiklikten önce elle yedek almak için aşağıdaki komutu çalıştır. Komut bitince veritabanı yedeğinin yolunu yazar:

Komut
sudo /usr/local/sbin/borcube-backup

Gece yedeğinin bir sonraki çalışma saatini ve son çalışmasının günlüğünü görmek için:

Komut
systemctl list-timers borcube-backup.timer
sudo journalctl -u borcube-backup -n 20

Veritabanını geri yüklemek#

Siteyi durdur, yedeği geri yükle ve siteyi yeniden başlat. Dosya adını kendi yedeğinle değiştir:

Komut
sudo systemctl stop borcube
sudo gunzip -c /var/backups/borcube/db-20261011-041000.sql.gz | sudo mysql borcube
sudo systemctl start borcube

Yeni sürüm açılmayıp eski sürüme dönüldüğünde kurulum komutu, güncellemeden hemen önce alınan yedeğin adıyla bir geri yükleme komutu yazar. Panelden yapılan güncellemede bu satır Kurulum çıktısı bölümünde görünür.

Dosyaları geri yüklemek#

Silinen yüklemeleri ya da bozulan bir temayı geri getirmek için veri yedeğini aç:

Komut
sudo systemctl stop borcube
sudo tar -xzf /var/backups/borcube/data-20261011-041000.tar.gz -C /var/lib
sudo systemctl start borcube

Yedekteki dosyalar eski hallerine döner. Yedekten sonra eklenen dosyalar silinmez, yerinde kalır.

Yedekleri sunucunun dışına kopyala#

Gece yedekleri sitenle aynı sunucuda durur. Sunucunun diski bozulursa ya da sunucu silinirse yedekler de gider. Yedekleri düzenli olarak kendi bilgisayarına ya da başka bir depolama alanına kopyala (scp ya da bir SFTP programıyla). Sunucunun yedeklenmesi senin sorumluluğundadır; bkz. Kullanım ve Lisans Koşulları.

Yedeklerle siteyi başka bir sunucuya taşımak için: Alan adı değiştirme ve sunucu taşıma.

Docker ve elle kurulum#

Docker ya da elle yapılan kurulumlarda gece yedeği kurulmaz; yedeği sen alırsın.

  • Docker: veriler borcube_db ve borcube_data Docker birimlerinde durur. Veritabanı yedeğini BorCube klasöründe şu komutla alabilirsin:
Komut
docker compose exec db sh -c 'mysqldump -uborcube -p"$MYSQL_PASSWORD" borcube' > yedek.sql
  • Elle kurulum: veritabanını mysqldump ile yedekle ve borcube-data klasörünü kopyala.

Bir yanlış ya da eksik mi gördün? Discord’dan haber ver, hemen düzeltelim.