Weblate biztonsági mentése és áthelyezése¶
Projektszintű biztonsági mentések¶
Added in version 4.14.
A projekt biztonsági mentései tartalmazzák a Weblate összes fordítási tartalmát (projekt, összetevők, fordítások, szöveg megjegyzések, javaslatok vagy ellenőrzések). Ez alkalmas egy projekt áthelyezésére egy másik Weblate példányba.
You can perform a project backup in Operations ↓ Backups. The backup can be restored when creating a project (see Fordítási projektek és összetevők hozzáadása).
A biztonsági mentések jelenleg nem tartalmazzák a hozzáférés-vezérlés adatait és az előzményeket.
The comments and suggestions are backed up with the username of the user who did create them. Upon import it is assigned to a matching user. If there is no user with such username, it is assigned to anonymous user.
A létrehozott biztonsági mentések a szerveren kerülnek tárolásra, a PROJECT_BACKUP_KEEP_DAYS és PROJECT_BACKUP_KEEP_COUNT beállítások alapján (alapértelmezés szerint maximum 3 mentést tárol 30 napig).
Import validation of uploaded project backups can be tuned using
PROJECT_BACKUP_IMPORT_MAX_MEMBERS,
PROJECT_BACKUP_IMPORT_MAX_TOTAL_UNCOMPRESSED_SIZE,
PROJECT_BACKUP_IMPORT_MAX_COMPRESSED_ENTRY_SIZE,
PROJECT_BACKUP_IMPORT_MIN_RATIO_SIZE, and
PROJECT_BACKUP_IMPORT_MAX_COMPRESSED_ENTRY_RATIO.
A létrehozott fájlt felhasználhatja projekt importálásakor a Fordítási projektek és összetevők hozzáadása funkciónál vagy a import_projectbackup parancs segítségével.
Megjegyzés
Restoring of the backup might fail if the restoring server has different set
of Nyelvi definíciók or different configuration of
SIMPLIFY_LANGUAGES. The restore will tell you which language
codes could not be processed and you can then add missing language
definitions manually.
Automatizált biztonsági mentés BorgBackup használatával¶
A Weblate beépített támogatással rendelkezik szolgáltatásbiztonsági mentések készítésére a BorgBackup segítségével. A Borg helytakarékos, titkosított biztonsági mentéseket készít, amelyek biztonságosan tárolhatók a felhőben. A mentések a kezelőfelületen a Biztonsági mentések fülön keresztül érhetők el és irányíthatók.
A 4.4.1 verzióban változott: PostgreSQL databases are included in the automated backups.
Az automatizált mentések tartalmazzák mind a PostgreSQL, mind a MySQL/MariaDB adatbázisokat:
Napi mentések 14 napra visszamenőleg
Heti mentések 8 hétre visszamenőleg
Havi mentések 6 hónapra visszamenőleg
Borg titkosítási kulcs¶
A BorgBackup titkosított mentéseket hoz létre, és a visszaállításhoz szükség van a jelszóra. A jelszó egy új biztonsági mentési szolgáltatás hozzáadásakor automatikusan generálódik – ezt érdemes azonnal kimásolni és biztonságos helyen tárolni.
Ha Weblate által biztosított biztonsági mentési tárhely használatában van, javasolt a privát SSH-kulcs biztonsági mentése is, mivel ez szükséges a biztonsági mentések eléréséhez.
Lásd még
Biztonsági mentés testreszabása¶
Az adatbázis biztonsági mentését a
DATABASE_BACKUPbeállítással lehet konfigurálni.A mentés készítése testreszabható a
BORG_EXTRA_ARGSparaméter segítségével.
Weblate által biztosított biztonsági mentési tárhely¶
A Weblate példányának biztonsági mentésére a legegyszerűbb megoldás a weblate.org oldalon elérhető backup szolgáltatás megvásárlása. A következő lépések szükségesek a beállításhoz:
Vásárolja meg a Biztonsági mentési szolgáltatást a https://weblate.org/support/#backup oldalon.
Adja meg a kapott kulcsot a kezelőfelületen, lásd: Támogatás integrálása.
A Weblate csatlakozik a felhőszolgáltatáshoz, és lekéri a biztonsági mentések eléréséhez szükséges adatokat.
Kapcsolja be az új biztonsági mentési konfigurációt a Biztonsági mentések fülön.
Készítsen biztonsági mentést a Borg-hitelesítő adatairól is a mentések későbbi visszaállíthatósága érdekében, lásd: Borg titkosítási kulcs.
Tipp
Az, hogy mindent manuálisan kell bekapcsolni, a biztonság érdekében történik. Hozzájárulás nélkül semmilyen adat nem kerül elküldésre a regisztráció során létrehozott biztonsági mentési tárolóba.
Egyéni biztonsági mentési tárhely használata¶
Lehetőség van saját tárhely használatára is a biztonsági mentésekhez. Az SSH protokoll segítségével távoli helyre is tárolhatók a mentések, ehhez a célkiszolgálóra telepíteni kell a BorgBackup alkalmazást.
Lásd még
További információ a Borg dokumentációjában: General
Helyi fájlrendszer¶
Helyi mentésnél ajánlott az abszolút elérési utat megadni, például /path/to/backup. A könyvtárnak írhatónak kell lennie a Weblate-et futtató felhasználó számára (lásd: Fájlrendszer jogosultságok). Ha a könyvtár nem létezik, a Weblate megpróbálja létrehozni, de ehhez megfelelő jogosultságokra van szükség.
Tipp
Amikor a Weblate-et Dockerben futtatja, győződjön meg róla, hogy a biztonsági mentés helye kötetként (volume) van csatolva a Weblate-konténerhez. Ellenkező esetben a biztonsági mentések a konténer újraindításakor a Docker által törlésre kerülnek.
Egy lehetőség, hogy a mentéseket egy meglévő kötetre helyezi, például: /app/data/borgbackup. Ez egy meglévő kötet a konténerben.
Másik lehetőség, hogy létrehoz egy új konténert kifejezetten a mentések számára a Docker Compose fájlban, például: /borgbackup elérési úttal:
services:
weblate:
volumes:
- /home/weblate/data:/app/data
- /home/weblate/borgbackup:/borgbackup
The directory where backups will be stored has to be owned by UID 1000, otherwise Weblate won’t be able to write the backups there.
Távoli biztonsági mentések¶
Távoli biztonsági mentés készítéséhez telepíteni kell a BorgBackup alkalmazást egy olyan szerverre, amely SSH-n keresztül elérhető a Weblate telepítése számára a Weblate SSH-kulcsával:
Készítse elő a szervert, amelyen a mentéseket tárolni fogja.
Telepítse rá az SSH szervert (a legtöbb Linux-disztribúció alapértelmezés szerint tartalmazza).
Telepítse a BorgBackup programot is a szerverre; a legtöbb Linux-disztribúcióhoz elérhetők a csomagok (lásd: Installation).
Válasszon egy meglévő felhasználót vagy hozzon létre egy újat, amelyet a biztonsági mentéshez fog használni.
Add Weblate SSH key to the user’s .ssh/authorized_keys file, so that Weblate can SSH to the server without a password (see Weblate SSH-kulcs).
Create a user-writable directory where Weblate can remotely set up the Borg backup repository, for example in the home directory (i.e.
/home/borg/backups).Configure the backup location in Weblate as
user@host:/home/borg/backupsorssh://user@host:port/home/borg/backups.Once enabled, the backups will be triggered automatically daily. You can also manually trigger a backup from the Weblate UI or using backup.
Tipp
A Weblate által biztosított biztonsági mentési tárhely szolgáltatás automatikus távoli biztonsági mentéseket kínál mindenféle további beavatkozás nélkül.
Lásd még
Visszaállítás a BorgBackupból¶
Állítsa vissza a hozzáférést a biztonsági mentési tárolóhoz, és készítse elő a mentési jelszót.
Listázza az összes biztonsági mentést a szerveren a
borg list REPOSITORYparancs használatával.Állítsa vissza a kívánt mentést az aktuális könyvtárba a
borg extract REPOSITORY::ARCHIVEparanccsal.Állítsa vissza az adatbázist az SQL-dumpból, amely a Weblate adatkönyvtárán belül a
backupmappában található (lásd: Lementett adatok (dumpok) a biztonsági mentésekhez).Másolja a Weblate konfigurációs fájlt (
backups/settings.py, lásd: Lementett adatok (dumpok) a biztonsági mentésekhez) a megfelelő helyre, részletek: Konfiguráció módosítása.Docker-konténer használata esetén a konfigurációs fájl már része a konténernek, így az eredeti környezeti változókat kell visszaállítani. Ebben az
environment.ymlfájl segíthet (lásd: Lementett adatok (dumpok) a biztonsági mentésekhez).Másolja át a teljes visszaállított adatkönyvtárat arra a helyre, amelyet a
DATA_DIRbeállítás határoz meg.Docker-konténer esetén az adatokat a megfelelő adatkötetbe kell helyezni, lásd: Docker-konténer kötetek.
Ügyeljen arra, hogy a fájlok megfelelő tulajdonossal és jogosultságokkal rendelkezzenek, lásd: Fájlrendszer jogosultságok.
A Borg mentési munkamenet például így nézhet ki:
$ 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:
Lásd még
Restoring Docker based setup¶
The following steps assume the official Docker Compose setup using the bundled PostgreSQL and Valkey services, see Telepítés Docker használatával. If your deployment uses an external database or a customized Compose file, adapt the database and volume steps to that environment.
Start with a Docker Compose checkout matching the restored deployment. Restore
your original Compose overrides, secrets, and environment variables. The
environment.yml file from Lementett adatok (dumpok) a biztonsági mentésekhez can help with this, but
it is not imported automatically.
Restore the backup archive using Visszaállítás a BorgBackupból or unpack your manual backup so that the Weblate data directory and
backups/database.sqlare available.Stop the services which can write to the database or data volume:
docker compose stop weblate cache
Recreate the PostgreSQL volume.
docker compose stop database docker compose rm -v database docker volume remove weblate-docker_postgres-data
The volume name depends on the Compose project name and can differ from
weblate-docker_postgres-data. Check your setup before removing any volume.Start the database service:
docker compose up -d database
Restore the database dump:
cat backups/database.sql | docker compose exec -T database psql --username weblate --dbname weblate
Check that the database name matches
POSTGRES_DBand the user matchesPOSTGRES_USERin your Compose configuration.Restore the Weblate data directory to the Docker data volume mounted as
/app/data, see Docker-konténer kötetek. Files in this volume have to be owned by UID 1000, see Fájlrendszer jogosultságok.Start the remaining services and follow the logs:
docker compose up -d docker compose logs -f
The Weblate container performs database migrations on startup. If you are also upgrading Weblate, follow Docker-konténer frissítése.
Refresh the repositories after the restore:
docker compose exec --user weblate weblate weblate updategit --all
Kézi biztonsági mentés¶
Attól függően, hogy mit szeretne megőrizni, a Weblate által tárolt adatok megfelelő típusait kell lementeni.
Tipp
Ha kézi biztonsági mentést készít, érdemes lehet elnémítani a Weblate figyelmeztetését a biztonsági mentések hiányáról. Ehhez adja hozzá a weblate.I028 jelzést a SILENCED_SYSTEM_CHECKS beállításhoz a settings.py fájlban vagy Docker esetén a WEBLATE_SILENCED_SYSTEM_CHECKS környezeti változóban.
SILENCED_SYSTEM_CHECKS.append("weblate.I028")
Adatbázis¶
A tényleges tárolási hely az adatbázis beállításaitól függ.
Tipp
Az adatbázis a legfontosabb adattároló. Gondoskodjon róla, hogy rendszeres biztonsági mentést készítsen róla. Az adatbázis nélkül minden fordítás elveszik.
Natív adatbázis biztonsági mentés¶
The recommended approach is to save a dump of the database using database-native tools such as pg_dump. It usually performs better than Django backup, and it restores complete tables with all their data.
Az így készült mentést egy újabb Weblate verzióba is vissza lehet állítani; a rendszer automatikusan elvégzi a szükséges adatbázis-migrációkat a migrate futtatásakor. További részletekért lásd: Weblate frissítése, ahol bővebb tájékoztatás található a verziók közötti frissítésről.
Django adatbázis biztonsági mentés¶
Alternatív megoldásként az adatbázist a Django dumpdata parancsával is lementheti. Így a biztonsági mentés adatbázisfüggetlen lesz, és akkor is használható, ha később adatbázismotort szeretne váltani.
FONTOS: Az adatbázis visszaállítása előtt pontosan ugyanazt a Weblate-verziót kell futtatnia, amelyen a biztonsági mentés készült. Erre azért van szükség, mert a verziók között az adatbázis szerkezete változhat, és ennek figyelmen kívül hagyása adatvesztést okozhat. A megfelelő verzió telepítése után futtassa az összes adatbázis-migrációt a migrate paranccsal.
Ezután az adatbázisban már néhány bejegyzés létrejön, amelyek a biztonsági mentésben is megtalálhatók. Ajánlott ezeket kézzel törölni a kezelői parancssorban (lásd: Kezelőparancsok futtatása):
weblate shell
>>> from weblate.auth.models import User
>>> User.objects.get(username='anonymous').delete()
Fájlok¶
Ha elegendő tárhely áll rendelkezésre, a legegyszerűbb az egész DATA_DIR könyvtár biztonsági mentése. Ez biztonságos megoldás akkor is, ha néhány olyan fájlt is tartalmaz, amit nem feltétlenül szeretne megőrizni. Az alábbiakban részletezzük, mit érdemes lementeni, és mit lehet esetleg kihagyni.
Lementett adatok (dumpok) a biztonsági mentésekhez¶
A 4.7 verzióban változott: A Docker-környezetekben való visszaállítást segítendő, az environment.yml fájlban környezeti mentés is készül.
Tárolási helye: DATA_DIR /backups.
A Weblate itt többféle adatot helyez el, és ezek bevonásával teljesebb biztonsági mentés készíthető. A fájlok naponta frissülnek (ehhez működő Celery beats szerver szükséges, lásd: Háttérfeladatok Celery használatával). Jelenleg az alábbiakat tartalmazza:
Weblate beállítások:
settings.py(illetve kibővített változata:settings-expanded.py).PostgreSQL adatbázis-mentés:
database.sql.Környezeti dump
environment.ymlfájlként.
Az adatbázis-mentések alapértelmezetten szöveges formátumban kerülnek mentésre, de tömörítve is elmenthetők vagy akár teljesen kihagyhatók a DATABASE_BACKUP beállítással.
Az adatbázis-mentés visszaállításához töltse be az állományt adatbáziskezelő eszközök segítségével, például:
psql --file=database.sql weblate
Verziókezelő tárolók¶
Tárolási hely: DATA_DIR /vcs.
A verziókezelő tárolók a forrás tárolók másolatait tartalmazzák a Weblate módosításaival együtt. Ha az összes fordítási összetevőjénél engedélyezte a Feltöltés véglegesítéskor (Push on commit) funkciót, akkor minden változtatás visszakerül a forrás tárolóba is. Ebben az esetben nem szükséges lementeni a Weblate tárolóit, mivel azokat bármikor újraklónozhatja adatvesztés nélkül.
SSH- és GPG-kulcsok¶
Tárolási helyek: DATA_DIR /ssh és DATA_DIR /home.
Ha a Weblate által generált SSH- vagy GPG-kulcsokat használja, akkor ezeket a helyeket mindenképp érdemes lementeni. Ellenkező esetben elveszítheti a privát kulcsokat és új kulcsokat kell majd létrehoznia.
Generated SSH wrapper scripts are stored in CACHE_DIR and do not
need to be backed up.
Felhasználók által feltöltött fájlok¶
Tárolási hely: DATA_DIR /media.
Minden felhasználó által feltöltött fájlt érdemes lementeni (például: Screenshots and visual context).
Celery feladatok¶
A Celery feladatok várósora némi információt tartalmazhat, de általában nincs szükség ezek biztonsági mentésére. Legfeljebb olyan frissítések veszhetnek el, amelyek még nem kerültek feldolgozásra a fordítási memóriába. A visszaállítás után mindenképp ajánlott teljes szöveges keresési frissítést vagy tárolófrissítést végezni, így ezek elvesztése nem jelent problémát.
Lásd még
Parancssori kézi biztonsági mentés¶
Cron ütemezéssel beállítható egy Bash parancs, amely például naponta lefut:
$ tar -Jcf ~/backup/weblate-backup-$(date -u +%Y-%m-%d_%H%M%S).xz backups vcs ssh home media fonts secret
A menteni kívánt mappák és fájlok listája igény szerint módosítható. Ha a fordítási memóriát (a backups mappában) nem szeretné elmenteni, használhatja az alábbi megoldást:
$ 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
Kézi biztonsági mentés visszaállítása¶
Állítsa vissza az összes mentett adatot.
Frissítse az összes tárolót a
updategitparanccsal.weblate updategit --all
Weblate telepítés áthelyezése¶
Másik rendszerre való költöztetéskor kövesse a fenti biztonsági mentési és visszaállítási útmutatót.