ການສຳຮອງຂໍ້ມູນ ແລະການຍ້າຍ Weblate

ການສຳຮອງຂໍ້ມູນລະດັບໂປຣເຈັກ

Added in version 4.14.

ການສຳຮອງຂໍ້ມູນໂປຣເຈັກຈະສຳຮອງເນື້ອຫາການແປທັງໝົດຈາກ Weblate (ໂປຣເຈັກ, ອົງປະກອບ, ການແປ, ຄຳເຫັນກ່ຽວກັບຂໍ້ຄວາມ, ຄຳແນະນຳ ຫຼື ການກວດສອບ). ມັນເໝາະສົມສຳລັບການໂອນຍ້າຍໂປຣເຈັກໄປຍັງ Weblate ອິນສແຕນສ໌ອື່ນ.

ທ່ານສາມາດທຳການສຳຮອງຂໍ້ມູນໂປຣເຈັກໄດ້ໃນ OperationsBackups. ການສຳຮອງຂໍ້ມູນສາມາດກູ້ຄືນໄດ້ເມື່ອສ້າງໂປຣເຈັກ (ເບິ່ງ ການເພີ່ມໂຄງການແປ ແລະ ອົງປະກອບ).

Note

ການສຳຮອງຂໍ້ມູນໂປຣເຈັກຍັງສາມາດສ້າງ, ສະແດງລາຍການ ແລະດາວໂຫຼດຜ່ານ REST API ຂອງ Weblate ໄດ້ຕັ້ງແຕ່ເວີຊັນ 2026.7 ເປັນຕົ້ນໄປ;

ການສຳຮອງຂໍ້ມູນໃນປະຈຸບັນບໍ່ລວມເຖິງຂໍ້ມູນການຄວບຄຸມການເຂົ້າເຖິງ ແລະປະຫວັດ.

ຄຳເຫັນ ແລະຄຳແນະນຳຈະຖືກສຳຮອງໄວ້ພ້ອມກັບຊື່ຜູ້ໃຊ້ທີ່ສ້າງສິ່ງເຫຼົ່ານັ້ນ. ເມື່ອນຳເຂົ້າ, ມັນຈະຖືກມອບໝາຍໃຫ້ຜູ້ໃຊ້ທີ່ກົງກັນ. ຖ້າບໍ່ມີຜູ້ໃຊ້ທີ່ມີຊື່ດັ່ງກ່າວ, ມັນຈະຖືກມອບໝາຍໃຫ້ກັບຜູ້ໃຊ້ທີ່ບໍ່ລະບຸຕົວຕົນ.

ການສຳຮອງຂໍ້ມູນທີ່ສ້າງຂຶ້ນຈະຖືກຮັກສາໄວ້ໃນເຊີບເວີຕາມທີ່ຕັ້ງຄ່າໄວ້ໂດຍ PROJECT_BACKUP_KEEP_DAYS ແລະ PROJECT_BACKUP_KEEP_COUNT (ຄ່າເລີ່ມຕົ້ນແມ່ນຮັກສາໄວ້ສູງສຸດ 3 ຊຸດເປັນເວລາ 30 ວັນ).

ການກວດສອບການນຳເຂົ້າການສຳຮອງຂໍ້ມູນໂປຣເຈັກທີ່ອັບໂຫຼດສາມາດປັບແຕ່ງໄດ້ໂດຍໃຊ້ 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, ແລະ PROJECT_BACKUP_IMPORT_MAX_COMPRESSED_ENTRY_RATIO.

ການສຳຮອງຂໍ້ມູນທີ່ສົມບູນຈະຖືກກວດສອບກ່ອນທີ່ຈະມີການກູ້ຄືນຂໍ້ມູນໃດໆ. ຟິວວັດຖຸ (object fields), ການອ້າງອີງ, ເສັ້ນທາງຄັງເກັບ, URL, regular expressions, ຫຼື ໄຟລ໌ຮູບພາບໜ້າຈໍທີ່ບໍ່ຖືກຕ້ອງ ຈະເຮັດໃຫ້ການນຳເຂົ້າຖືກປະຕິເສດ ໂດຍບໍ່ມີການສ້າງໂຄງການບາງສ່ວນ.

ໃຊ້ໄຟລ໌ທີ່ສ້າງຂຶ້ນເພື່ອອິມພອດໂປຣເຈັກເມື່ອ ການເພີ່ມໂຄງການແປ ແລະ ອົງປະກອບ ຫຼືໃນ import_projectbackup.

Note

ການກູ້ຄືນການສຳຮອງຂໍ້ມູນອາດລົ້ມເຫຼວຖ້າເຊີບເວີທີ່ກູ້ຄືນມີຊຸດ ຄຳນິຍາມພາສາ ທີ່ແຕກຕ່າງກັນ ຫຼືການຕັ້ງຄ່າ SIMPLIFY_LANGUAGES ທີ່ແຕກຕ່າງກັນ. ການກູ້ຄືນຈະບອກທ່ານວ່າລະຫັດພາສາໃດທີ່ບໍ່ສາມາດປະມວນຜົນໄດ້ ແລະຈາກນັ້ນທ່ານສາມາດເພີ່ມຄຳນິຍາມພາສາທີ່ຂາດຫາຍໄປດ້ວຍຕົນເອງ.

ການສຳຮອງຂໍ້ມູນອັດຕະໂນມັດໂດຍໃຊ້ BorgBackup

Weblate ມີລະບົບຮອງຮັບໃນຕົວສຳລັບການສ້າງການສຳຮອງຂໍ້ມູນບໍລິການໂດຍໃຊ້ BorgBackup. Borg ສ້າງການສຳຮອງຂໍ້ມູນແບບເຂົ້າລະຫັດທີ່ມີປະສິດທິພາບດ້ານພື້ນທີ່ ເຊິ່ງສາມາດຈັດເກັບໄວ້ໃນຄລາວໄດ້ຢ່າງປອດໄພ. ການສຳຮອງຂໍ້ມູນສາມາດຄວບຄຸມໄດ້ໃນອິນເຕີເຟສການຈັດການຈາກແຖບ Backups.

Changed in version 4.4.1: ຖານຂໍ້ມູນ PostgreSQL ຈະຖືກລວມຢູ່ໃນການສຳຮອງຂໍ້ມູນອັດຕະໂນມັດ.

ການສຳຮອງຂໍ້ມູນໂດຍໃຊ້ Borg ແມ່ນແບບເພີ່ມເຕີມ (incremental) ແລະ Weblate ຖືກຕັ້ງຄ່າໃຫ້ຮັກສາການສຳຮອງຂໍ້ມູນດັ່ງຕໍ່ໄປນີ້:

  • ສຳຮອງຂໍ້ມູນລາຍວັນ ຍ້ອນຫຼັງ 14 ວັນ

  • ສຳຮອງຂໍ້ມູນລາຍສັບດາ ຍ້ອນຫຼັງ 8 ສັບດາ

  • ສຳຮອງຂໍ້ມູນລາຍເດືອນ ຍ້ອນຫຼັງ 6 ເດືອນ

../_images/backups.webp

ກະແຈການເຂົ້າລະຫັດ Borg

BorgBackup ສ້າງການສຳຮອງຂໍ້ມູນແບບເຂົ້າລະຫັດ ແລະທ່ານຈະບໍ່ສາມາດກູ້ຄືນມັນໄດ້ຖ້າບໍ່ມີລະຫັດຜ່ານ (passphrase). ລະຫັດຜ່ານຈະຖືກສ້າງຂຶ້ນເມື່ອເພີ່ມບໍລິການສຳຮອງຂໍ້ມູນໃໝ່ ແລະທ່ານຄວນສຳເນົາມັນໄວ້ ແລະຮັກສາມັນໄວ້ໃນບ່ອນທີ່ປອດໄພ.

ຖ້າທ່ານໃຊ້ ບ່ອນຈັດເກັບຂໍ້ມູນສຳຮອງທີ່ Weblate ຈັດຫາໃຫ້, ກະລຸນາສຳຮອງຄີ SSH ສ່ວນຕົວຂອງທ່ານໄວ້ດ້ວຍ ເນື່ອງຈາກມັນຖືກໃຊ້ເພື່ອເຂົ້າເຖິງການສຳຮອງຂໍ້ມູນຂອງທ່ານ.

See also

borg init

ການປັບແຕ່ງການສຳຮອງຂໍ້ມູນ

  • ການສຳຮອງຂໍ້ມູນຖານຂໍ້ມູນສາມາດຕັ້ງຄ່າໄດ້ຜ່ານ DATABASE_BACKUP.

  • ການສ້າງການສຳຮອງຂໍ້ມູນສາມາດປັບແຕ່ງໄດ້ໂດຍໃຊ້ BORG_EXTRA_ARGS.

ບ່ອນຈັດເກັບຂໍ້ມູນສຳຮອງທີ່ Weblate ຈັດຫາໃຫ້

ວິທີທີ່ງ່າຍທີ່ສຸດໃນການສຳຮອງຂໍ້ມູນ Weblate ອິນສແຕນສ໌ຂອງທ່ານແມ່ນການຊື້ ບໍລິການສຳຮອງຂໍ້ມູນທີ່ weblate.org. ນີ້ຄືວິທີທີ່ທ່ານຈະເຮັດໃຫ້ມັນເຮັດວຽກ:

  1. ຊື້ ບໍລິການສຳຮອງຂໍ້ມູນ ທີ່ https://weblate.org/support/#backup.

  2. ໃສ່ກະແຈທີ່ໄດ້ຮັບໃນອິນເຕີເຟສການຈັດການ, ເບິ່ງ ການເຊື່ອມໂຍງການສະໜັບສະໜູນ.

  3. Weblate ເຊື່ອມຕໍ່ກັບບໍລິການຄລາວ ແລະຮັບຂໍ້ມູນການເຂົ້າເຖິງສຳລັບການສຳຮອງຂໍ້ມູນ.

  4. ເປີດໃຊ້ການຕັ້ງຄ່າການສຳຮອງຂໍ້ມູນໃໝ່ຈາກແຖບ Backups.

  5. ສຳຮອງຂໍ້ມູນອ້າງອີງ (credentials) ຂອງ Borg ຂອງທ່ານເພື່ອໃຫ້ສາມາດກູ້ຄືນການສຳຮອງຂໍ້ມູນໄດ້, ເບິ່ງ ກະແຈການເຂົ້າລະຫັດ Borg.

Hint

ຂັ້ນຕອນການເປີດໃຊ້ທຸກຢ່າງດ້ວຍຕົນເອງແມ່ນເພື່ອຄວາມປອດໄພຂອງທ່ານ. ຖ້າບໍ່ມີການຍິນຍອມຈາກທ່ານ, ຈະບໍ່ມີຂໍ້ມູນໃດຖືກສົ່ງໄປຍັງບ່ອນຈັດເກັບການສຳຮອງຂໍ້ມູນທີ່ໄດ້ຮັບຜ່ານຂະບວນການລົງທະບຽນ.

ການໃຊ້ບ່ອນຈັດເກັບການສຳຮອງຂໍ້ມູນແບບກຳນົດເອງ

ທ່ານຍັງສາມາດໃຊ້ບ່ອນຈັດເກັບຂອງທ່ານເອງສຳລັບການສຳຮອງຂໍ້ມູນໄດ້. SSH ສາມາດໃຊ້ເພື່ອເກັບການສຳຮອງຂໍ້ມູນໃນປາຍທາງທາງໄກໄດ້, ເຊີບເວີປາຍທາງຕ້ອງໄດ້ຕິດຕັ້ງ BorgBackup ໄວ້.

See also

General ໃນເອກະສານຂອງ Borg

ລະບົບໄຟລ໌ທ້ອງຖິ່ນ

ແນະນຳໃຫ້ລະບຸເສັ້ນທາງສົມບູນ (absolute path) ສຳລັບການສຳຮອງຂໍ້ມູນທ້ອງຖິ່ນ, ຕົວຢ່າງ /path/to/backup. ໄດເລກະທໍລີຕ້ອງສາມາດຂຽນໄດ້ໂດຍຜູ້ໃຊ້ທີ່ຮັນ Weblate (ເບິ່ງ ສິດທິລະບົບໄຟລ໌). ຖ້າມັນບໍ່ມີ, Weblate ຈະພະຍາຍາມສ້າງມັນ ແຕ່ຕ້ອງການສິດອະນຸຍາດທີ່ເໝາະສົມໃນການເຮັດດັ່ງກ່າວ.

Hint

ເມື່ອຮັນ Weblate ໃນ Docker, ກະລຸນາຮັບປະກັນວ່າສະຖານທີ່ສຳຮອງຂໍ້ມູນຖືກເປີດອອກເປັນວໍລູມ (volume) ຈາກຄອນເທນເນີ Weblate. ບໍ່ດັ່ງນັ້ນ, ການສຳຮອງຂໍ້ມູນຈະຖືກ Docker ຍົກເລີກເມື່ອຣີສະຕາດຄອນເທນເນີ.

ທາງເລືອກໜຶ່ງແມ່ນການວາງການສຳຮອງຂໍ້ມູນໄວ້ໃນວໍລູມທີ່ມີຢູ່, ຕົວຢ່າງ /app/data/borgbackup. ນີ້ແມ່ນວໍລູມທີ່ມີຢູ່ແລ້ວໃນຄອນເທນເນີ.

ທ່ານຍັງສາມາດເພີ່ມຄອນເທນເນີໃໝ່ສຳລັບການສຳຮອງຂໍ້ມູນໃນໄຟລ໌ Docker Compose ຕົວຢ່າງໂດຍການໃຊ້ /borgbackup:

services:
  weblate:
    volumes:
      - /home/weblate/data:/app/data
      - /home/weblate/borgbackup:/borgbackup

ໄດເລກະທໍລີທີ່ຈະໃຊ້ເກັບການສຳຮອງຂໍ້ມູນຕ້ອງຖືກເປັນເຈົ້າຂອງໂດຍ UID 1000, ບໍ່ດັ່ງນັ້ນ Weblate ຈະບໍ່ສາມາດຂຽນການສຳຮອງຂໍ້ມູນລົງໄປໄດ້.

ການສຳຮອງຂໍ້ມູນທາງໄກ

ສຳລັບການສ້າງການສຳຮອງຂໍ້ມູນທາງໄກ, ທ່ານຈະຕ້ອງຕິດຕັ້ງ BorgBackup ລົງໃນເຊີບເວີອື່ນທີ່ສາມາດເຂົ້າເຖິງໄດ້ສຳລັບການຕິດຕັ້ງ Weblate ຂອງທ່ານຜ່ານ SSH ໂດຍໃຊ້ຄີ SSH ຂອງ Weblate:

  1. ກະກຽມເຊີບເວີທີ່ຈະໃຊ້ເກັບການສຳຮອງຂໍ້ມູນຂອງທ່ານ.

  2. ຕິດຕັ້ງເຊີບເວີ SSH ລົງໃນນັ້ນ (ທ່ານຈະໄດ້ມັນມາເປັນຄ່າເລີ່ມຕົ້ນໃນ Linux ສ່ວນຫຼາຍ).

  3. ຕິດຕັ້ງ BorgBackup ລົງໃນເຊີບເວີນັ້ນ; Linux ສ່ວນຫຼາຍມີແພັກເກດໃຫ້ໃຊ້ງານ (ເບິ່ງ Installation).

  4. ເລືອກຜູ້ໃຊ້ທີ່ມີຢູ່ ຫຼືສ້າງຜູ້ໃຊ້ໃໝ່ທີ່ຈະໃຊ້ສຳລັບການສຳຮອງຂໍ້ມູນ.

  5. ເພີ່ມຄີ SSH ຂອງ Weblate ເຂົ້າໃນໄຟລ໌ .ssh/authorized_keys ຂອງຜູ້ໃຊ້, ເພື່ອໃຫ້ Weblate ສາມາດ SSH ເຂົ້າເຊີບເວີໄດ້ໂດຍບໍ່ຕ້ອງໃຊ້ລະຫັດຜ່ານ (ເບິ່ງ ຄີ SSH ຂອງ Weblate).

  6. ສ້າງໄດເລກະທໍລີທີ່ຜູ້ໃຊ້ສາມາດຂຽນໄດ້ ເຊິ່ງ Weblate ສາມາດຕັ້ງຄ່າບ່ອນຈັດເກັບການສຳຮອງຂໍ້ມູນ Borg ຈາກທາງໄກໄດ້, ຕົວຢ່າງໃນ home directory (ເຊັ່ນ /home/borg/backups).

  7. ຕັ້ງຄ່າສະຖານທີ່ສຳຮອງຂໍ້ມູນໃນ Weblate ເປັນ user@host:/home/borg/backups ຫຼື ssh://user@host:port/home/borg/backups.

  8. ເມື່ອເປີດໃຊ້ງານແລ້ວ, ການສຳຮອງຂໍ້ມູນຈະຖືກກະຕຸ້ນໂດຍອັດຕະໂນມັດທຸກວັນ. ທ່ານຍັງສາມາດກະຕຸ້ນການສຳຮອງຂໍ້ມູນດ້ວຍຕົນເອງຈາກ Weblate UI ຫຼືໃຊ້ backup.

Hint

ບ່ອນຈັດເກັບຂໍ້ມູນສຳຮອງທີ່ Weblate ຈັດຫາໃຫ້ ສະໜອງການສຳຮອງຂໍ້ມູນທາງໄກແບບອັດຕະໂນມັດໃຫ້ທ່ານໂດຍບໍ່ຕ້ອງອອກແຮງ.

ການກູ້ຄືນຈາກ BorgBackup

  1. ກູ້ຄືນການເຂົ້າເຖິງບ່ອນຈັດເກັບການສຳຮອງຂໍ້ມູນຂອງທ່ານ ແລະກະກຽມລະຫັດຜ່ານການສຳຮອງຂໍ້ມູນຂອງທ່ານ.

  2. ສະແດງລາຍການການສຳຮອງຂໍ້ມູນທັງໝົດເທິງເຊີບເວີໂດຍໃຊ້ borg list REPOSITORY.

  3. ກູ້ຄືນການສຳຮອງຂໍ້ມູນທີ່ຕ້ອງການໄປຍັງໄດເລກະທໍລີປະຈຸບັນໂດຍໃຊ້ borg extract REPOSITORY::ARCHIVE.

  4. ກູ້ຄືນຖານຂໍ້ມູນຈາກ SQL dump ທີ່ວາງໄວ້ໃນໄດເລກະທໍລີ backup ໃນ Weblate data dir (ເບິ່ງ ຂໍ້ມູນທີ່ດັ້ມໄວ້ສຳລັບການສຳຮອງຂໍ້ມູນ).

  5. ສຳເນົາການຕັ້ງຄ່າ Weblate (backups/settings.py, ເບິ່ງ ຂໍ້ມູນທີ່ດັ້ມໄວ້ສຳລັບການສຳຮອງຂໍ້ມູນ) ໄປຍັງສະຖານທີ່ທີ່ຖືກຕ້ອງ, ເບິ່ງ ການປັບແຕ່ງການຕັ້ງຄ່າ.

    ເມື່ອໃຊ້ Docker container, ໄຟລ໌ການຕັ້ງຄ່າຈະຖືກລວມໄວ້ໃນຄອນເທນເນີຢູ່ແລ້ວ ແລະທ່ານຄວນກູ້ຄືນຕົວປ່ຽນສະພາບແວດລ້ອມ (environment variables) ເດີມ. ໄຟລ໌ environment.yml ອາດຊ່ວຍທ່ານໃນເລື່ອງນີ້ໄດ້ (ເບິ່ງ ຂໍ້ມູນທີ່ດັ້ມໄວ້ສຳລັບການສຳຮອງຂໍ້ມູນ).

  6. ສຳເນົາໄດເລກະທໍລີຂໍ້ມູນທີ່ກູ້ຄືນທັງໝົດໄປຍັງສະຖານທີ່ທີ່ຕັ້ງຄ່າໂດຍ DATA_DIR.

    ເມື່ອໃຊ້ Docker container ໃຫ້ວາງຂໍ້ມູນໄວ້ໃນວໍລູມຂໍ້ມູນ, ເບິ່ງ Docker container volumes.

    ກະລຸນາຮັບປະກັນວ່າໄຟລ໌ມີການເປັນເຈົ້າຂອງ ແລະສິດອະນຸຍາດທີ່ຖືກຕ້ອງ, ເບິ່ງ ສິດທິລະບົບໄຟລ໌.

ເຊສຊັນ (session) ຂອງ Borg ອາດຈະມີລັກສະນະນີ້:

$ 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:

ການກູ້ຄືນການຕິດຕັ້ງແບບ Docker

ຂັ້ນຕອນຕໍ່ໄປນີ້ສົມມຸດວ່າເປັນການຕັ້ງຄ່າ Docker Compose ຢ່າງເປັນທາງການທີ່ໃຊ້ບໍລິການ PostgreSQL ແລະ Valkey ທີ່ລວມມາໃຫ້, ເບິ່ງ ການຕິດຕັ້ງໂດຍໃຊ້ Docker. ຖ້າການຕິດຕັ້ງຂອງທ່ານໃຊ້ຖານຂໍ້ມູນພາຍນອກ ຫຼືໄຟລ໌ Compose ທີ່ປັບແຕ່ງເອງ, ໃຫ້ປັບຂັ້ນຕອນຖານຂໍ້ມູນ ແລະວໍລູມໃຫ້ເຂົ້າກັບສະພາບແວດລ້ອມນັ້ນ.

ເລີ່ມຕົ້ນດ້ວຍການເຊັກເອົາ (checkout) Docker Compose ທີ່ກົງກັບການຕິດຕັ້ງທີ່ກູ້ຄືນມາ. ກູ້ຄືນການຕັ້ງຄ່າ Compose overrides, secrets ແລະ environment variables ຕົ້ນສະບັບຂອງທ່ານ. ໄຟລ໌ environment.yml ຈາກ ຂໍ້ມູນທີ່ດັ້ມໄວ້ສຳລັບການສຳຮອງຂໍ້ມູນ ສາມາດຊ່ວຍໄດ້ໃນເລື່ອງນີ້, ແຕ່ມັນບໍ່ໄດ້ຖືກອິມພອດອັດຕະໂນມັດ.

  1. ກູ້ຄືນແຟ້ມການສຳຮອງຂໍ້ມູນໂດຍໃຊ້ ການກູ້ຄືນຈາກ BorgBackup ຫຼືແຕກໄຟລ໌ການສຳຮອງຂໍ້ມູນແບບ manual ຂອງທ່ານ ເພື່ອໃຫ້ໄດເລກະທໍລີຂໍ້ມູນ Weblate ແລະ backups/database.sql ມີພ້ອມໃຊ້ງານ.

  2. ຢຸດບໍລິການທີ່ສາມາດຂຽນລົງຖານຂໍ້ມູນ ຫຼືວໍລູມຂໍ້ມູນ:

    docker compose stop weblate cache
    
  3. ສ້າງວໍລູມ PostgreSQL ໃໝ່.

    docker compose stop database
    docker compose rm -v database
    docker volume remove weblate-docker_postgres-data
    

    ຊື່ວໍລູມຂຶ້ນຢູ່ກັບຊື່ໂປຣເຈັກ Compose ແລະອາດແຕກຕ່າງຈາກ weblate-docker_postgres-data. ກວດສອບການຕັ້ງຄ່າຂອງທ່ານກ່ອນທີ່ຈະລຶບວໍລູມໃດໆ.

  4. ເລີ່ມບໍລິການຖານຂໍ້ມູນ:

    docker compose up -d database
    
  5. ກູ້ຄືນດັ້ມ (dump) ຖານຂໍ້ມູນ:

    cat backups/database.sql | docker compose exec -T database psql --username weblate --dbname weblate
    

    ກວດສອບໃຫ້ແນ່ໃຈວ່າຊື່ຖານຂໍ້ມູນກົງກັບ POSTGRES_DB ແລະຜູ້ໃຊ້ກົງກັບ POSTGRES_USER ໃນການຕັ້ງຄ່າ Compose ຂອງທ່ານ.

  6. ກູ້ຄືນໄດເລກະທໍລີຂໍ້ມູນ Weblate ໄປຍັງວໍລູມຂໍ້ມູນ Docker ທີ່ມາວ (mount) ເປັນ /app/data, ເບິ່ງ Docker container volumes. ໄຟລ໌ໃນວໍລູມນີ້ຕ້ອງຖືກເປັນເຈົ້າຂອງໂດຍ UID 1000, ເບິ່ງ ສິດທິລະບົບໄຟລ໌.

  7. ເລີ່ມບໍລິການທີ່ເຫຼືອ ແລະຕິດຕາມບັນທຶກ (logs):

    docker compose up -d
    docker compose logs -f
    

    ຄອນເທນເນີ Weblate ຈະເຮັດການຍ້າຍຖານຂໍ້ມູນ (database migrations) ໃນຕອນເລີ່ມຕົ້ນ. ຖ້າທ່ານກຳລັງອັບເກຣດ Weblate ໄປພ້ອມກັນ, ໃຫ້ປະຕິບັດຕາມ ການອັບເດດ Docker container.

  8. ຣີເຟຣຊ (refresh) ຣີໂພຊິທໍຣີຫຼັງຈາກການກູ້ຄືນ:

    docker compose exec --user weblate weblate weblate updategit --all
    

ການສຳຮອງຂໍ້ມູນດ້ວຍຕົນເອງ

ຂຶ້ນຢູ່ກັບສິ່ງທີ່ທ່ານຕ້ອງການບັນທຶກ, ໃຫ້ສຳຮອງຂໍ້ມູນປະເພດຕ່າງໆທີ່ Weblate ເກັບໄວ້ໃນແຕ່ລະບ່ອນ.

Hint

ຖ້າທ່ານກຳລັງເຮັດການສຳຮອງຂໍ້ມູນດ້ວຍຕົນເອງ, ທ່ານອາດຕ້ອງການປິດການແຈ້ງເຕືອນຂອງ Weblate ກ່ຽວກັບການຂາດການສຳຮອງຂໍ້ມູນໂດຍການເພີ່ມ weblate.I028 ເຂົ້າໃນ SILENCED_SYSTEM_CHECKS ໃນໄຟລ໌ settings.py ຫຼື WEBLATE_SILENCED_SYSTEM_CHECKS ສຳລັບ Docker.

SILENCED_SYSTEM_CHECKS.append("weblate.I028")

ຖານຂໍ້ມູນ

ສະຖານທີ່ຈັດເກັບຂໍ້ມູນຕົວຈິງຂຶ້ນຢູ່ກັບການຕັ້ງຄ່າຖານຂໍ້ມູນຂອງທ່ານ.

Hint

ຖານຂໍ້ມູນແມ່ນບ່ອນຈັດເກັບທີ່ສຳຄັນທີ່ສຸດ. ຕັ້ງຄ່າການສຳຮອງຂໍ້ມູນຖານຂໍ້ມູນຂອງທ່ານເປັນປະຈຳ. ຖ້າບໍ່ມີຖານຂໍ້ມູນ, ການແປທັງໝົດຈະຫາຍໄປ.

ການສຳຮອງຂໍ້ມູນຖານຂໍ້ມູນແບບເນທີຟ

ວິທີທີ່ແນະນຳແມ່ນການບັນທຶກດັ້ມຂອງຖານຂໍ້ມູນໂດຍໃຊ້ເຄື່ອງມືເນທີຟຂອງຖານຂໍ້ມູນເຊັ່ນ pg_dump. ປົກກະຕິແລ້ວມັນເຮັດວຽກໄດ້ດີກວ່າການສຳຮອງຂໍ້ມູນຂອງ Django ແລະມັນຈະກູ້ຄືນຕາຕະລາງທີ່ສົມບູນພ້ອມກັບຂໍ້ມູນທັງໝົດຂອງມັນ.

ທ່ານສາມາດກູ້ຄືນການສຳຮອງຂໍ້ມູນນີ້ໃນ Weblate ເວີຊັນທີ່ໃໝ່ກວ່າໄດ້, ມັນຈະເຮັດການຍ້າຍຖານຂໍ້ມູນທີ່ຈຳເປັນທັງໝົດເມື່ອຮັນ migrate. ກະລຸນາເບິ່ງ ການອັບເກຣດ Weblate ສຳລັບຂໍ້ມູນເພີ່ມເຕີມກ່ຽວກັບວິທີການອັບເກຣດລະຫວ່າງເວີຊັນ.

ການສຳຮອງຂໍ້ມູນຖານຂໍ້ມູນ Django

ອີກທາງເລືອກໜຶ່ງ, ທ່ານສາມາດສຳຮອງຖານຂໍ້ມູນຂອງທ່ານໂດຍໃຊ້ຄຳສັ່ງ dumpdata ຂອງ Django. ວິທີນັ້ນການສຳຮອງຂໍ້ມູນຈະບໍ່ຂຶ້ນກັບຖານຂໍ້ມູນ ແລະສາມາດໃຊ້ໄດ້ໃນກໍລະນີທີ່ທ່ານຕ້ອງການປ່ຽນຖານຂໍ້ມູນ back-end.

ກ່ອນທີ່ຈະກູ້ຄືນຖານຂໍ້ມູນ, ທ່ານຈຳເປັນຕ້ອງໃຊ້ Weblate ເວີຊັນດຽວກັນກັບທີ່ສຳຮອງຂໍ້ມູນນັ້ນມາ. ສິ່ງນີ້ຈຳເປັນເພາະໂຄງສ້າງຖານຂໍ້ມູນຈະປ່ຽນໄປລະຫວ່າງເວີຊັນ ແລະທ່ານອາດຈະເຮັດໃຫ້ຂໍ້ມູນເສຍຫາຍໄດ້. ຫຼັງຈາກຕິດຕັ້ງເວີຊັນດຽວກັນແລ້ວ, ໃຫ້ຮັນການຍ້າຍຖານຂໍ້ມູນທັງໝົດໂດຍໃຊ້ migrate.

ຫຼັງຈາກນັ້ນ, ບາງລາຍການຈະຖືກສ້າງຂຶ້ນໃນຖານຂໍ້ມູນແລ້ວ ແລະທ່ານກໍຈະມີມັນໃນການສຳຮອງຖານຂໍ້ມູນເຊັ່ນກັນ. ວິທີທີ່ແນະນຳຄືການລຶບລາຍການດັ່ງກ່າວດ້ວຍຕົນເອງໂດຍໃຊ້ management shell (ເບິ່ງ ການເອີ້ນໃຊ້ຄຳສັ່ງຈັດການ):

weblate shell
>>> from weblate.auth.models import User
>>> User.objects.get(username='anonymous').delete()

ໄຟລ໌

ຖ້າທ່ານມີພື້ນທີ່ສຳຮອງຂໍ້ມູນພຽງພໍ, ໃຫ້ສຳຮອງຂໍ້ມູນທັງໝົດໃນ DATA_DIR. ນີ້ເປັນວິທີທີ່ປອດໄພເຖິງແມ່ນວ່າມັນຈະລວມເຖິງໄຟລ໌ບາງຢ່າງທີ່ທ່ານບໍ່ຕ້ອງການກໍຕາມ. ພາກສ່ວນຕໍ່ໄປນີ້ຈະອະທິບາຍລາຍລະອຽດກ່ຽວກັບສິ່ງທີ່ທ່ານຄວນສຳຮອງ ແລະສິ່ງທີ່ທ່ານສາມາດຂ້າມໄປໄດ້.

ຂໍ້ມູນທີ່ດັ້ມໄວ້ສຳລັບການສຳຮອງຂໍ້ມູນ

Changed in version 4.7: Environment dump ຖືກເພີ່ມເຂົ້າເປັນ environment.yml ເພື່ອຊ່ວຍໃນການກູ້ຄືນໃນສະພາບແວດລ້ອມ Docker.

ຈັດເກັບໄວ້ໃນ DATA_DIR /backups.

Weblate ຈະດັ້ມຂໍ້ມູນຕ່າງໆໄວ້ທີ່ນີ້, ແລະທ່ານສາມາດລວມໄຟລ໌ເຫຼົ່ານີ້ເພື່ອການສຳຮອງຂໍ້ມູນທີ່ຄົບຖ້ວນກວ່າ. ໄຟລ໌ເຫຼົ່ານີ້ຈະຖືກອັບເດດທຸກວັນ (ຕ້ອງການເຊີບເວີ Celery beats, ເບິ່ງ ວຽກງານເບື້ອງຫຼັງໂດຍໃຊ້ Celery). ປະຈຸບັນ, ສິ່ງນີ້ລວມມີ:

  • ການຕັ້ງຄ່າ Weblate ເປັນໄຟລ໌ settings.py (ຍັງມີເວີຊັນຂະຫຍາຍໃນ settings-expanded.py).

  • ການສຳຮອງຖານຂໍ້ມູນ PostgreSQL ເປັນໄຟລ໌ database.sql.

  • Environment dump ເປັນໄຟລ໌ environment.yml.

ການສຳຮອງຂໍ້ມູນຖານຂໍ້ມູນຈະຖືກບັນທຶກເປັນ plain text ຕາມຄ່າເລີ່ມຕົ້ນ, ແຕ່ພວກມັນຍັງສາມາດຖືກບີບອັດ ຫຼືຂ້າມໄປໄດ້ທັງໝົດໂດຍໃຊ້ DATABASE_BACKUP.

ເພື່ອກູ້ຄືນການສຳຮອງຂໍ້ມູນຖານຂໍ້ມູນ, ໃຫ້ໂຫຼດມັນໂດຍໃຊ້ເຄື່ອງມືຖານຂໍ້ມູນ, ຕົວຢ່າງ:

psql --file=database.sql weblate

ຣີໂພຊິທໍຣີຄວບຄຸມເວີຊັນ

ຈັດເກັບໄວ້ໃນ DATA_DIR /vcs.

ຣີໂພຊິທໍຣີຄວບຄຸມເວີຊັນບັນຈຸສຳເນົາຂອງຣີໂພຊິທໍຣີຕົ້ນທາງຂອງທ່ານພ້ອມກັບການປ່ຽນແປງຂອງ Weblate. ຖ້າທ່ານເປີດໃຊ້ Push ເມື່ອບັນທຶກການປ່ຽນແປງ (Commit) ສຳລັບອົງປະກອບການແປທັງໝົດຂອງທ່ານ, ການປ່ຽນແປງທັງໝົດຂອງ Weblate ຈະຖືກລວມຢູ່ໃນຕົ້ນທາງ. ບໍ່ຈຳເປັນຕ້ອງສຳຮອງຣີໂພຊິທໍຣີຝັ່ງ Weblate ເນື່ອງຈາກພວກມັນສາມາດຖືກ Clone ໃໝ່ຈາກສະຖານທີ່ຕົ້ນທາງໄດ້ໂດຍບໍ່ມີຂໍ້ມູນສູນຫາຍ.

ຄີ SSH ແລະ GPG

ຈັດເກັບໄວ້ໃນ DATA_DIR /ssh ແລະ DATA_DIR /home.

ຖ້າທ່ານໃຊ້ຄີ SSH ຫຼື GPG ທີ່ສ້າງໂດຍ Weblate, ທ່ານຄວນສຳຮອງຂໍ້ມູນສະຖານທີ່ເຫຼົ່ານີ້ໄວ້. ບໍ່ດັ່ງນັ້ນທ່ານຈະສູນເສຍຄີສ່ວນຕົວ ແລະທ່ານຈະຕ້ອງສ້າງໃໝ່.

ສະຄຣິບ SSH wrapper ທີ່ສ້າງຂຶ້ນຈະຖືກຈັດເກັບໄວ້ໃນ CACHE_DIR ແລະບໍ່ຈຳເປັນຕ້ອງສຳຮອງຂໍ້ມູນ.

ໄຟລ໌ທີ່ຜູ້ໃຊ້ອັບໂຫຼດ

ຈັດເກັບໄວ້ໃນ DATA_DIR /media.

ທ່ານຄວນສຳຮອງໄຟລ໌ທີ່ຜູ້ໃຊ້ອັບໂຫຼດທັງໝົດ (ເຊັ່ນ ພາບໜ້າຈໍ ແລະ ບໍລິບົດທາງສາຍຕາ).

ວຽກຂອງ Celery

ຄິວວຽກຂອງ Celery ອາດບັນຈຸຂໍ້ມູນບາງຢ່າງ, ແຕ່ໂດຍທົ່ວໄປແລ້ວບໍ່ຈຳເປັນສຳລັບການສຳຮອງຂໍ້ມູນ. ຢ່າງຫຼາຍທ່ານກໍຈະສູນເສຍການອັບເດດທີ່ຍັງບໍ່ທັນໄດ້ປະມວນຜົນເຂົ້າໄປໃນ Translation Memory. ແນະນຳໃຫ້ເຮັດການອັບເດດ Fulltext ຫຼື Repository ເມື່ອກູ້ຄືນຢູ່ແລ້ວ, ສະນັ້ນຈຶ່ງບໍ່ມີບັນຫາຫຍັງໃນການສູນເສຍສິ່ງເຫຼົ່ານີ້.

ຄຳສັ່ງ (Command-line) ສຳລັບການສຳຮອງຂໍ້ມູນດ້ວຍຕົນເອງ

ໂດຍໃຊ້ cron job, ທ່ານສາມາດຕັ້ງຄຳສັ່ງ Bash ໃຫ້ຖືກປະຕິບັດໃນລາຍວັນ, ຕົວຢ່າງ:

$ tar -Jcf ~/backup/weblate-backup-$(date -u +%Y-%m-%d_%H%M%S).xz backups vcs ssh home media fonts secret

ທ່ານສາມາດປັບແຕ່ງລາຍການໂຟນເດີ ແລະໄຟລ໌ຕາມຄວາມຕ້ອງການຂອງທ່ານ. ເພື່ອຫຼີກລ່ຽງການບັນທຶກ Translation Memory (ໃນໂຟນເດີ backups), ທ່ານສາມາດໃຊ້:

$ 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

ການກູ້ຄືນການສຳຮອງຂໍ້ມູນດ້ວຍຕົນເອງ

  1. ກູ້ຄືນຂໍ້ມູນທັງໝົດທີ່ທ່ານສຳຮອງໄວ້.

  2. ອັບເດດຣີໂພຊິທໍຣີທັງໝົດໂດຍໃຊ້ updategit.

    weblate updategit --all
    

ການຍ້າຍການຕິດຕັ້ງ Weblate

ຍ້າຍການຕິດຕັ້ງຂອງທ່ານໄປຍັງລະບົບອື່ນໂດຍປະຕິບັດຕາມຄຳແນະນຳການສຳຮອງຂໍ້ມູນ ແລະການກູ້ຄືນຂ້າງເທິງ.