PDA

View Full Version : How to take a backup of database without language cache content



krisp
22-01-10, 02:54
Language caches can make the database up to 50 times larger. There is no need to backup those caches since they are replaced every 14 days anyway. Here is how to backup the database where the cached tables are flushed (empty) in the backup (tested on Linux Centos): Batchjob: mysqldump -u username -ppassword databasename | python dump.py > dump.sql Where the following python script with the name dump.py is used:
#!/usr/bin/env python# -*- coding: UTF-8 -*-#import sys line = sys.stdin.readline()ignore = Falsewhile line:if "LOCK TABLES" in line:l = line.replace("`", "")try:tname = l.split(" ")[2]sys.stderr.write(tname+"\n")if tname in ("vbenterprisetranslator_cache_medium_da", "vbenterprisetranslator_cache_medium_ar", "vbenterprisetranslator_cache_medium_be", "vbenterprisetranslator_cache_medium_bg", "vbenterprisetranslator_cache_medium_ca", "vbenterprisetranslator_cache_medium_cs", "vbenterprisetranslator_cache_medium_cy", "vbenterprisetranslator_cache_medium_de", "vbenterprisetranslator_cache_medium_el", "vbenterprisetranslator_cache_medium_en", "vbenterprisetranslator_cache_medium_es", "vbenterprisetranslator_cache_medium_et", "vbenterprisetranslator_cache_medium_fa", "vbenterprisetranslator_cache_medium_fi", "vbenterprisetranslator_cache_medium_fr", "vbenterprisetranslator_cache_medium_ga", "vbenterprisetranslator_cache_medium_gl", "vbenterprisetranslator_cache_medium_hi", "vbenterprisetranslator_cache_medium_hr", "vbenterprisetranslator_cache_medium_hu", "vbenterprisetranslator_cache_medium_id", "vbenterprisetranslator_cache_medium_is", "vbenterprisetranslator_cache_medium_it", "vbenterprisetranslator_cache_medium_iw", "vbenterprisetranslator_cache_medium_ja", "vbenterprisetranslator_cache_medium_ko", "vbenterprisetranslator_cache_medium_lt", "vbenterprisetranslator_cache_medium_lv", "vbenterprisetranslator_cache_medium_mk", "vbenterprisetranslator_cache_medium_ms", "vbenterprisetranslator_cache_medium_mt", "vbenterprisetranslator_cache_medium_nl", "vbenterprisetranslator_cache_medium_no", "vbenterprisetranslator_cache_medium_pl", "vbenterprisetranslator_cache_medium_pt", "vbenterprisetranslator_cache_medium_ro", "vbenterprisetranslator_cache_medium_ru", "vbenterprisetranslator_cache_medium_sk", "vbenterprisetranslator_cache_medium_sl", "vbenterprisetranslator_cache_medium_sq", "vbenterprisetranslator_cache_medium_sr", "vbenterprisetranslator_cache_medium_sv", "vbenterprisetranslator_cache_medium_sw", "vbenterprisetranslator_cache_medium_th", "vbenterprisetranslator_cache_medium_tl", "vbenterprisetranslator_cache_medium_tr", "vbenterprisetranslator_cache_medium_uk", "vbenterprisetranslator_cache_medium_vi", "vbenterprisetranslator_cache_medium_yi", "vbenterprisetranslator_cache_medium_zh-CN", "vbenterprisetranslator_cache_medium_zh-TW", "vbenterprisetranslator_cache_da", "vbenterprisetranslator_cache_ar", "vbenterprisetranslator_cache_be", "vbenterprisetranslator_cache_bg", "vbenterprisetranslator_cache_ca", "vbenterprisetranslator_cache_cs", "vbenterprisetranslator_cache_cy", "vbenterprisetranslator_cache_de", "vbenterprisetranslator_cache_el", "vbenterprisetranslator_cache_en", "vbenterprisetranslator_cache_es", "vbenterprisetranslator_cache_et", "vbenterprisetranslator_cache_fa", "vbenterprisetranslator_cache_fi", "vbenterprisetranslator_cache_fr", "vbenterprisetranslator_cache_ga", "vbenterprisetranslator_cache_gl", "vbenterprisetranslator_cache_hi", "vbenterprisetranslator_cache_hr", "vbenterprisetranslator_cache_hu", "vbenterprisetranslator_cache_id", "vbenterprisetranslator_cache_is", "vbenterprisetranslator_cache_it", "vbenterprisetranslator_cache_iw", "vbenterprisetranslator_cache_ja", "vbenterprisetranslator_cache_ko", "vbenterprisetranslator_cache_lt", "vbenterprisetranslator_cache_lv", "vbenterprisetranslator_cache_mk", "vbenterprisetranslator_cache_ms", "vbenterprisetranslator_cache_mt", "vbenterprisetranslator_cache_nl", "vbenterprisetranslator_cache_no", "vbenterprisetranslator_cache_pl", "vbenterprisetranslator_cache_pt", "vbenterprisetranslator_cache_ro", "vbenterprisetranslator_cache_ru", "vbenterprisetranslator_cache_sk", "vbenterprisetranslator_cache_sl", "vbenterprisetranslator_cache_sq", "vbenterprisetranslator_cache_sr", "vbenterprisetranslator_cache_sv", "vbenterprisetranslator_cache_sw", "vbenterprisetranslator_cache_th", "vbenterprisetranslator_cache_tl", "vbenterprisetranslator_cache_tr", "vbenterprisetranslator_cache_uk", "vbenterprisetranslator_cache_vi", "vbenterprisetranslator_cache_yi", "vbenterprisetranslator_cache_zh-CN", "vbenterprisetranslator_cache_zh-TW", "vbenterprisetranslator_cache_short_da", "vbenterprisetranslator_cache_short_ar", "vbenterprisetranslator_cache_short_be", "vbenterprisetranslator_cache_short_bg", "vbenterprisetranslator_cache_short_ca", "vbenterprisetranslator_cache_short_cs", "vbenterprisetranslator_cache_short_cy", "vbenterprisetranslator_cache_short_de", "vbenterprisetranslator_cache_short_el", "vbenterprisetranslator_cache_short_en", "vbenterprisetranslator_cache_short_es", "vbenterprisetranslator_cache_short_et", "vbenterprisetranslator_cache_short_fa", "vbenterprisetranslator_cache_short_fi", "vbenterprisetranslator_cache_short_fr", "vbenterprisetranslator_cache_short_ga", "vbenterprisetranslator_cache_short_gl", "vbenterprisetranslator_cache_short_hi", "vbenterprisetranslator_cache_short_hr", "vbenterprisetranslator_cache_short_hu", "vbenterprisetranslator_cache_short_id", "vbenterprisetranslator_cache_short_is", "vbenterprisetranslator_cache_short_it", "vbenterprisetranslator_cache_short_iw", "vbenterprisetranslator_cache_short_ja", "vbenterprisetranslator_cache_short_ko", "vbenterprisetranslator_cache_short_lt", "vbenterprisetranslator_cache_short_lv", "vbenterprisetranslator_cache_short_mk", "vbenterprisetranslator_cache_short_ms", "vbenterprisetranslator_cache_short_mt", "vbenterprisetranslator_cache_short_nl", "vbenterprisetranslator_cache_short_no", "vbenterprisetranslator_cache_short_pl", "vbenterprisetranslator_cache_short_pt", "vbenterprisetranslator_cache_short_ro", "vbenterprisetranslator_cache_short_ru", "vbenterprisetranslator_cache_short_sk", "vbenterprisetranslator_cache_short_sl", "vbenterprisetranslator_cache_short_sq", "vbenterprisetranslator_cache_short_sr", "vbenterprisetranslator_cache_short_sv", "vbenterprisetranslator_cache_short_sw", "vbenterprisetranslator_cache_short_th", "vbenterprisetranslator_cache_short_tl", "vbenterprisetranslator_cache_short_tr", "vbenterprisetranslator_cache_short_uk", "vbenterprisetranslator_cache_short_vi", "vbenterprisetranslator_cache_short_yi", "vbenterprisetranslator_cache_short_zh-CN", "vbenterprisetranslator_cache_short_zh-TW"):ignore = Trueexcept IndexError:sys.stderr.write(l)passif ignore and "INSERT" in line:line = sys.stdin.readline()continueif "UNLOCK TABLES" in line:ignore = False sys.stdout.write(line)line = sys.stdin.readline() Remember to run: chmod +x /root/dump.py from root (one time only before running batch job the first time)

krisp
22-01-10, 15:51
Another possible (untested) more simple solution: mysqldump -u username -ppassword databasename | grep -P -v "INSERT INTO (`table1`|`table2`)" > dump.sql

(remember to use ` and not ')

vBET
23-10-13, 09:48
And much simpler - just set in vBET usage of external database for cache :)
This is sported and configurable by Admin CP (Admin CP -> vBET Cache -> External DB Cache).

This way cache tables will be in other database and you can backup your forum without cache and without any tricks :)

janetfdoss
12-05-15, 10:47
Amazing help here. Now i am able to do it without any kind of help. Thanks

AfrikaansAlbanianArabicBelarusianBulgarianCatalanChineseCroatianCzechDanishDutchEnglishEstonianFilipinoFinnishFrenchGalicianGermanGreekHaitian CreoleHebrewHindiHungarianIcelandicIndonesianIrishItalianJapaneseKoreanLatvianLithuanianMacedonianMalayMalteseNorwegianPersianPolishPortugueseRomanianRussianSerbianSlovakSlovenianSpanishSwahiliSwedishTaiwaneseThaiTurkishUkrainianVietnameseWelshYiddish
Languages translations made by vBET Translator 4.10.1