Weblate yedeğini alma ve taşıma
Proje düzeyinde yedekler
4.14 sürümünde geldi.
Uyarı
Yedeklemeler yalnızca veri tabanı olarak PostgreSQL ya da MariaDB 10.5+ kullanıldığında geri yüklenebilir.
Proje, Weblate üzerindeki tüm çeviri içeriğini yedekler (proje, bileşenler, çeviriler, dizge yorumları, öneriler ve denetimler). Bir projeyi başka bir Weblate kopyasına aktarmak için uygundur.
Bir projeyi Yönetim ↓ Yedekler bölümünden yedekleyebilirsiniz. Bir proje oluşturulurken yedekleme geri yüklenebilir (bilgi almak için: Adding translation projects and components).
Şu anda yedeklerde erişim denetimi ve geçmiş bilgileri bulunmuyor.
Yorumlar ve öneriler, bunları oluşturan kullanıcının kullanıcı adıyla yedeklenir. İçe aktarıldıktan sonra eşleşen bir kullanıcı ile ilişkilendirilir. Yedekteki kullanıcı adına sahip bir kullanıcı bulunamazsa, anonim kullanıcı ile ilişkilendirilir.
Oluşturulan yedekler, PROJECT_BACKUP_KEEP_DAYS
ve PROJECT_BACKUP_KEEP_COUNT
tarafından yapılandırıldığı şekilde sunucuda tutulur (varsayılan olarak 30 gün boyunca en fazla 3 yedek tutulur).
BorgBackup ile kendiliğinden yedekleme
3.9 sürümünde geldi.
Weblate, BorgBackup kullanarak hizmet yedeklerinin alınmasını destekler. Borg, bulutta güvenli bir şekilde saklanabilen, depolama alanı açısından etkili şifrelenmiş yedekler alır. Yedekler, yönetim arayüzünde Yedekler sekmesinden yönetilebilir.
4.4.1 sürümünde değişti: Kendiliğinden alınan yedeklere hem PostgreSQL hem de MySQL/MariaDB veri tabanları katılır.
Borg kullanan yedekler artımlıdır ve Weblate şu yedekleri koruyacak şekilde yapılandırılır:
14 gün geriye dönük günlük yedekler
8 hafta geriye dönük haftalık yedekler
6 ay geriye dönük aylık yedekler

Borg şifreleme anahtarı
BorgBackup şifrelenmiş yedekler alır ve parola olmadan bunları geri yükleyemezsiniz. Parola, yeni bir yedekleme hizmeti eklerken oluşturulur ve bunu kopyalayıp güvenli bir yerde saklamanız gerekir.
Weblate tarafından sunulan yedekleme depolama alanı kullanıyorsanız, yedeklerinize erişmek için kullanıldığından, lütfen kişisel SSH anahtarınızı da yedekleyin.
Ayrıca bakınız
Yedeklemeyi özelleştirme
Veri tabanı yedeklemesi
DATABASE_BACKUP
ile yapılandırılabilir.Yedek oluşturma
BORG_EXTRA_ARGS
kullanılarak özelleştirilebilir.
Weblate tarafından sunulan yedekleme depolama alanı
Weblate bulut sunucunuzu yedeklemenin en kolay yolu `weblate.org <https://weblate.org/support/#backup> üzerinden yedekleme hizmeti`_ satın almaktır. Şu şekilde çalışır duruma getirebilirsiniz:
https://weblate.org/support/#backup üzerinden Yedekleme hizmeti satın alın.
Size verilen anahtarı yönetim bölümüne yazın. Bilgi almak için: Destek bütünleştirmesi.
Weblate bulut hizmeti ile bağlantı kurar ve yedekler için erişim bilgilerini alır.
Yedekler sekmesinden yeni yedekleme yapılandırmasını etkinleştirin.
Yedekleri geri yükleyebilmek için Borg kimlik doğrulama bilgilerinizi yedekleyin. Bilgi almak için: Borg şifreleme anahtarı.
İpucu
Güvenliğiniz için el ile her şeyi etkinleştirme adımı bulunur. İzniniz olmadan, hesap açma işlemi yoluyla elde edilen yedekleme havuzuna herhangi bir veri gönderilmez.
Özel yedekleme depolama alanını kullanmak
Yedekler için kendi depolama alanınızı da kullanabilirsiniz. SSH, yedekleri uzak hedefte depolamak için kullanılabilir. Hedef sunucuda BorgBackup kurulu olmalıdır.
Ayrıca bakınız
Borg belgelerindeki General bölümünde
Yerel dosya sistemi
Yerel yedekleme için mutlak yolun belirtilmesi önerilir. Örneğin ‘/yedek/klasoru/yolu’. Klasör, Weblate çalıştıran kullanıcı tarafından yazılabilir olmalıdır (bilgi almak için: Dosya sistemi izinleri). Klasör yoksa, Weblate oluşturmaya çalışır, ancak bunu yapmak için uygun izinlere gerek duyar.
İpucu
Docker üzerinde Weblate çalıştırırken, lütfen yedekleme konumunun Weblate kapsayıcısında bir birim olarak gösterildiğinden emin olun. Yoksa, içinde bulunduğu kapsayıcı yeniden başlatıldığında yedekler Docker tarafından atılır.
Yedekleri /app/data/borgbackup
gibi var olan bir birime yerleştirmek bir seçenek olabilir. Bu birim kapsayıcıda vardır.
Docker Compose dosyasındaki yedekler için örneğin /borgbackup
kullanarak yeni bir kapsayıcı da ekleyebilirsiniz:
services:
weblate:
volumes:
- /home/weblate/data:/app/data
- /home/weblate/borgbackup:/borgbackup
Yedeklerin depolanacağı klasör için UID 1000 olmalıdır. Yoksa Weblate yedekleri bu klasöre yazamaz.
Uzak yedeklemeler
Uzak yedekler almak için, Weblate SSH anahtarını kullanarak SSH üzerinden Weblate dağıtımınız için erişilebilen başka bir sunucuya BorgBackup kurmanız gerekir:
Yedeklerinizin depolanacağı bir sunucu hazırlayın.
SSH sunucusunu üzerine kurun (çoğu Linux dağıtımında varsayılan olarak bulunur).
Bu sunucuya BorgBackup kurun. Çoğu Linux dağıtımında kullanılabilecek paketleri bulunur (bilgi almak için: Installation).
Var olan bir kullanıcı seçin ya da yedekleme için kullanılacak yeni bir kullanıcı ekleyin.
Weblate tarafından parola olmadan sunucu ile SSH bağlantısının kurulabilmesi için kullanıcıya Weblate SSH anahtarını ekleyin (bilgi almak için: Weblate SSH anahtarı).
Yerel yedeklemeler için
kullanici@sunucu:/yedeklere/giden/yol
şeklinde ya da uzak SSH yedeklemeleri için ``ssh://kullanici@sunucu:baglantinoktasi/yedeklere/giden/yol` şeklinde kullanın.
İpucu
Weblate tarafından sunulan yedekleme depolama alanı herhangi bir çaba harcamadan kendiliğinden uzak yedekleme olanağı sağlar.
Ayrıca bakınız
BorgBackup yedeklerini geri yüklemek
Yedekleme deponuza erişimi geri yükleyin ve yedekleme parolanızı hazırlayın.
Sunucudaki tüm yedekleri
borg list REPOSITORY
komutunu kullanarak listeleyin.İstediğiniz yedeği geçerli klasöre geri yüklemek için
borg extract REPOSITORY::ARCHIVE
komutunu kullanın.Veri tabanını, Weblate data klasörü içindeki
backup
klasörüne kaydedilen SQL dökümünden geri yükleyin (bilgi almak için: Yedeklemeler için dökümü yapılan veriler).Weblate yapılandırmasını (
backups/settings.py
, bilgi almak için: Yedeklemeler için dökümü yapılan veriler) doğru konuma kopyalayın. Bilgi almak için: Yapılandırmayı ayarlama.Docker kapsayıcısını kullanırken, ayarlar dosyası zaten kapsayıcı içine eklenmiştir ve özgün ortam değişkenlerini geri yüklemeniz gerekir.
environment.yml
dosyası bu konuda size yardımcı olabilir (bilgi almak için: Yedeklemeler için dökümü yapılan veriler).Geri yüklenen tüm data klasörünü
DATA_DIR
ile yapılandırılmış konuma kopyalayın.Docker kapsayıcısını kullanırken verileri veri birimine yerleştirin. Bilgi almak için: Docker kapsayıcısı birimleri.
Lütfen dosyaların sahiplik ve erişim izinlerinin doğru olduğundan emin olun. Bilgi almak için: Dosya sistemi izinleri.
Borg oturumu şunun gibi görünmelidir:
$ borg list /tmp/xxx
Enter passphrase for key /tmp/xxx:
2019-09-26T14:56:08 Thu, 2019-09-26 14:56:08 [de0e0f13643635d5090e9896bdaceb92a023050749ad3f3350e788f1a65576a5]
$ borg extract /tmp/xxx::2019-09-26T14:56:08
Enter passphrase for key /tmp/xxx:
Ayrıca bakınız
El ile yedekleme
Neyi kaydetmek istediğinize bağlı olarak, Weblate tarafından her biri ilgili yere kaydedilmiş olan veri türünü yedekleyin.
İpucu
El ile yedekleme yapıyorsanız, Weblate yedekleme eksikliği uyarısını, settings.py
içindeki SILENCED_SYSTEM_CHECKS
ya da Docker için WEBLATE_SILENCED_SYSTEM_CHECKS
seçeneğini weblate.I028
ile ekleyerek kapatmak isteyebilirsiniz.
SILENCED_SYSTEM_CHECKS.append("weblate.I028")
Veri tabanı
Gerçek depolama konumu, veri tabanı kurulumunuza bağlıdır.
İpucu
Veri tabanı en önemli depolama alanıdır. Veri tabanınızı düzenli olarak yedeklenecek biçimde ayarlayın. Veri tabanı olmadan, tüm çeviriler kaybolur.
Doğal veri tabanı yedeklemesi
Veri tabanı dökümününün pg_dump ya da mysqldump gibi veri tabanına özgü araçlar kullanılarak kaydedilmesi önerilir. Başarımı genellikle Django yedeklemesinden daha iyidir ve tüm tablolar tüm verileriyle geri yüklenir.
Bu yedeği daha yeni bir Weblate sürümünde geri yükleyebilirsiniz, migrate
içinde çalışırken gerekli tüm aktarımlar yapılır. Sürümler arasında nasıl yükseltme yapılacağı hakkında bilgi almak için Upgrading Weblate bölümüne bakabilirsiniz.
Django veri tabanı yedeklemesi
Alternatif olarak, dumpdata
Django komutunu kullanarak veri tabanınızı yedekleyebilirsiniz. Bu şekilde, alınan yedek veri tabanından bağımsız olur ve veri tabanı işleyicisini değiştirmek istediğinizde kullanılabilir.
Veri tabanını geri yüklemeden önce, yedeklemenin yapıldığı Weblate sürümüyle tam olarak aynı sürümü çalıştırıyor olmanız gerekir. Veri tabanı yapısı sürümler arasında değiştiğinden ve verilerin bir şekilde bozulmasına neden olacağından böyle olması gereklidir. Aynı sürümü kurduktan sonra, tüm veri tabanı aktarımlarını yapmak için migrate
komutunu kullanın.
Daha sonra veri tabanında bazı kayıtlar zaten oluşturulmuş olacak ve bunlar veri tabanı yedeğinde de bulunuyor olacak. Önerilen yaklaşım, yönetim kabuğunu kullanarak bu tür kayıtları el ile silmektir (bilgi almak için Invoking management commands):
weblate shell
>>> from weblate.auth.models import User
>>> User.objects.get(username='anonymous').delete()
Dosyalar
Yeterli yedekleme alanınız varsa, DATA_DIR
klasörünü tümüyle yedekleyin. Bu yedek, istemediğiniz bazı dosyaları içerse bile en güvenlisidir. Aşağıdaki bölümlerde, neleri yedeklemeniz gerektiğini ve neleri atlayabileceğinizi ayrıntılı olarak görebilirsiniz.
Yedeklemeler için dökümü yapılan veriler
4.7 sürümünde değişti: Docker ortamlarında geri yüklemeye yardımcı olacak ortam dökümü environment.yml
olarak eklenmiştir.
DATA_DIR
/backups
içine kaydedilir.
Weblate buraya çeşitli verileri döker. Daha eksiksiz yedeklemeler için bu dosyaları ekleyebilirsiniz. Dosyalar günlük olarak güncellenir (çalışan bir Çeler beats sunucusu gerekir. Bilgi almak için: Celery ile arka plan görevlerini kullanmak). Şu anda, bulunan veriler:
Weblate ayarları için
settings.py
(settings-expanded.py
dosyasında genişletilmiş bir sürümü de bulunur).PostgreSQL veri tabanı yedeği için
database.sql
.Ortam dökümü için
environment.yml
.
Veri tabanı yedekleri varsayılan olarak düz metin biçiminde kaydedilir. Ancak DATABASE_BACKUP
seçeneği ile sıkıştırılabilir ya da tümüyle atlanabilir.
Veri tabanı yedeğini geri yüklemek için veri tabanı araçlarını kullanın. Örneğin:
psql --file=database.sql weblate
Sürüm denetimi depoları
DATA_DIR
/vcs
konumunda tutulur.
Sürüm denetimi depolarında, Weblate değişiklikleriyle birlikte yukarı akış depolarınızın bir kopyası bulunur. Tüm çeviri bileşenleriniz için İşleme ile itme seçeneği etkinse, tüm Weblate değişiklikleri yukarı akışa dahil edilir. Weblate tarafındaki depoları yedeklemek gerekmez çünkü veri kaybı olmadan yukarı akış konumlarından yeniden kopyalanabilir.
SSH ve GPG anahtarları
DATA_DIR
/ssh
ve DATA_DIR
/home
içinde bulunur.
Weblate tarafından oluşturulmuş SSH ya da GPG anahtarlarını kullanıyorsanız, bu konumları yedeklemeniz gerekir. Yoksa kişisel anahtarlarınızı kaybedersiniz ve yeniden oluşturmanız gerekir.
Kullanıcının yüklediği dosyalar
DATA_DIR
/media
konumunda tutulur.
Kullanıcı tarafından yüklenen tüm dosyaları yedeklemelisiniz (Visual context for strings gibi).
Celery görevleri
Celery görev kuyruğunda bazı bilgiler bulunabilir. Ancak genellikle yedeklenmesi gerekli değildir. En fazla, henüz çeviri belleğine işlenmemiş güncellemeleri kaybedersiniz. Gene de, tam metin ya da depo güncellemesinin geri yüklendikten sonra yapılması önerilir, bu nedenle bunların kaybedilmesi bir sorun oluşturmaz.
Ayrıca bakınız
Komut satırından el ile yedek alma
Bir zamanlanmış görev (cron) kullanarak, her gün yürütülecek bir Bash komutu ayarlayabilirsiniz. Örneğin:
$ XZ_OPT="-9" tar -Jcf ~/backup/weblate-backup-$(date -u +%Y-%m-%d_%H%M%S).xz backups vcs ssh home media fonts secret
XZ_OPT işleminden sonra tırnak işaretleri arasındaki dizge, xz seçeneklerinizi, örneğin sıkıştırma için kullanılan bellek miktarını seçmenizi sağlar. Bilgi almak için: https://linux.die.net/man/1/xz
Klasör ve dosya listesini gereksinimlerinize göre ayarlayabilirsiniz. Çeviri belleğini (yedeklemeler klasöründe) kaydetmekten kaçınmak için şunu kullanabilirsiniz:
$ XZ_OPT="-9" tar -Jcf ~/backup/weblate-backup-$(date -u +%Y-%m-%d_%H%M%S).xz backups/database.sql backups/settings.py vcs ssh home media fonts secret
Yedeği el ile geri yüklemek
Yedeklediğiniz tüm verileri geri yükleyin.
:d jadmin:updategit komutunu kullanarak tüm depoları güncelleyin.
weblate updategit --all
Bir Weblate kurulumunu taşımak
Yukarıdaki yedekleme ve geri yükleme yönergelerini izleyerek kurulumunuzu farklı bir sisteme taşıyın.