Fórum Root.cz

Hlavní témata => Server => Téma založeno: majklfild 17. 10. 2020, 21:46:05

Název: Záloha TeamSpeak serveru na VPS
Přispěvatel: majklfild 17. 10. 2020, 21:46:05
Zdravím,
Mám koupené VPS, kde hostuju pár herních serverů a nyní jsem si tam vytvořil i teamspeak server, jenže jsem nemyslel na zálohování. Na nastavení teamspeaku jsem si našel kamaráda, jsem na TS úplně blbej.
Jak mohu backupnout ts? (Roomky, permisse, to stačí :D)
Něco jsem četl, tak vím, že ikonky a soubory zálohovat nelze.
Jaký skript na to použít a jak použít ten skript?
Je někde nějáké české video? Jsem spíše začátečník tak bych potřeboval třeba nějáké video nebo někoho, kdo mi to ukáže přes sdílení obrazovky přímo v praxi a něco mi k tomu řekne. Je to docela nutné...

Prosím pochopte moji situaci, jsem začátečník.
Jak jste začínali vy?
Dokažte, že jste komunita rozumných lidí a dokážete pomoct a nepsal komentáře typu google.com/search=?teamspeak-backup-script.
Kdybych něco přes google našel, tak bych dotaz tady nepsal.
Našel jsem některé skripty, ale nevím jak je použít.

Vím, že přes YaTQU jdou dělat snapshoty, ale já potřebuju ten snapshot uložit do VPS, ne ke mně do PC.

Předem velice děkuji.
S pozdravem, Majk.
Název: Re:Záloha TeamSpeak serveru na VPS
Přispěvatel: _Jenda 17. 10. 2020, 22:23:30
Co zazálohovat prostě celý systém? Pak si můžeš kdekoli kdykoli koupit jinou VPS (nebo si spustit virtuální počítač ve svém počítači, nebo si koupit fyzický server), nahraješ to tam, a hotovo?

Osobně to dělám pomocí rsync.
Kód: [Vybrat]
rsync -xavzhPe ssh --numeric-ids root@server:/ kam_zálohovat/(pozor, že -x zálohuje pouze ten jeden filesystém, což chceme, protože nechceme kopírovat třeba /proc a /dev. Nicméně pokud máš třeba /var nebo /home na jiném, musíš je explicitně specifikovat. Nebo -x smazat a /proc, /dev, /sys a spol. vyjmenovat v --exclude)

Problém je, pokud má TS databázi, která se musí zálohovat konzistentně. K tomu jsou tři možnosti:
Název: Re:Záloha TeamSpeak serveru na VPS
Přispěvatel: _Jenda 17. 10. 2020, 22:27:05
Prosím pochopte moji situaci, jsem začátečník.
Jak jste začínali vy?
Začínal jsem čtením různých zdrojů a provozování právě takových různých srandaserverů (web, mail, ... pro sebe a pak pár kamarádů). Zdroje:

https://old-archiv.avc-cvut.cz/akce/linuxove-minimum-spravce-debianu-dan-ohnesorg

Linux - Dokumentační projekt 3. vydání (jde stáhnout česky, zdarma a legálně; už existuje i 4. vydání, to jsem nečetl)

no a pak samozřejmě neustále hledání a řešení problémů. Můžeš začít třeba tím, že se seznámíš s programy, které jsem uvedl ve svém komentáři (rsync, LVM), vyzkoušíš si pomocí nich server zazálohovat, vytvoříš si na svém počítači virtuál (KVM, VirtualBox) a do něj to obnovíš a spustíš to tam.

AŽ uvedené dáš, tak máš normálně kvalifikaci na to stát se junior linux adminem v nějaké firmě ;)
Název: Re:Záloha TeamSpeak serveru na VPS
Přispěvatel: majklfild 17. 10. 2020, 23:08:48
Co zazálohovat prostě celý systém? Pak si můžeš kdekoli kdykoli koupit jinou VPS (nebo si spustit virtuální počítač ve svém počítači, nebo si koupit fyzický server), nahraješ to tam, a hotovo?

Osobně to dělám pomocí rsync.
Kód: [Vybrat]
rsync -xavzhPe ssh --numeric-ids root@server:/ kam_zálohovat/(pozor, že -x zálohuje pouze ten jeden filesystém, což chceme, protože nechceme kopírovat třeba /proc a /dev. Nicméně pokud máš třeba /var nebo /home na jiném, musíš je explicitně specifikovat. Nebo -x smazat a /proc, /dev, /sys a spol. vyjmenovat v --exclude)

Problém je, pokud má TS databázi, která se musí zálohovat konzistentně. K tomu jsou tři možnosti:
  • Udělat snapshot a zálohovat z něj. To lze pokud máš VPS třeba na LVM nebo btrfs. Hledej „LVM snapshot“.
  • Databázi dumpnout a při obnově ji obnovit u dumpu. To se dělá u každého software jinak a já bohužel TS neznám, takže neporadím.
  • TS server během zálohování vypnout. To jde samozřejmě udělat pouze pokud se třeba v noci nepoužívá a kdybys to dělal profesionálně, tak bys s tímhle řešením asi moc nepochodil.

Toto by snad mohlo pomoct :D
https://hastebin.com/bidavemure.bash
Název: Re:Záloha TeamSpeak serveru na VPS
Přispěvatel: RDa 18. 10. 2020, 19:23:03
Problém je, pokud má TS databázi, která se musí zálohovat konzistentně. K tomu jsou tři možnosti:
  • Udělat snapshot a zálohovat z něj. To lze pokud máš VPS třeba na LVM nebo btrfs. Hledej „LVM snapshot“.

Jsi si jisty ze FS/LVM snapshot bude reseni na konzistenci? Porad ta DB nebude spravne uzavrena, takze musi pak probehnout nejake recovery. Jasne, je to mene rozbite nez kdyby to delal bez snapshotu pri silne zapisovaci zatezi, ale problem to neresi.
Název: Re:Záloha TeamSpeak serveru na VPS
Přispěvatel: _Jenda 18. 10. 2020, 19:52:22
Jsi si jisty ze FS/LVM snapshot bude reseni na konzistenci? Porad ta DB nebude spravne uzavrena, takze musi pak probehnout nejake recovery.
Bude to ve stavu jako kdyby vypadl proud nebo se to nečekaně sestřelilo, což musí ustát.
Název: Re:Záloha TeamSpeak serveru na VPS
Přispěvatel: stelucz 19. 10. 2020, 08:48:37
Staci zkopirovat databazi ts3server.sqlitedb
Název: Re:Záloha TeamSpeak serveru na VPS
Přispěvatel: Josef Komjati 19. 10. 2020, 15:43:51
Na tohle je potřeba myslet před instalací (nebo před konfigurací/spuštěním, přesněji řečeno). Nativně ts3server využívá sqlite. Považuji za lepší mu dát mysql / marii, protože pak se konzistentní backup udělá snadno např. dumpem.
Název: Re:Záloha TeamSpeak serveru na VPS
Přispěvatel: _Jenda 19. 10. 2020, 18:30:32
Na tohle je potřeba myslet před instalací (nebo před konfigurací/spuštěním, přesněji řečeno). Nativně ts3server využívá sqlite. Považuji za lepší mu dát mysql / marii, protože pak se konzistentní backup udělá snadno např. dumpem.
Eh, sqlite snad nejde dumpnout?
Název: Re:Záloha TeamSpeak serveru na VPS
Přispěvatel: Josef Komjati 19. 10. 2020, 19:30:14
Eh, sqlite snad nejde dumpnout?
Samozřejmě jde. Ale řekl bych, že pro úplného laika je srozumitelnější dump z mysql / marie. Ale třeba se pletu (a soudím podle sebe) - zkusil jsem první link v googlu na mysql/maria dump a pak sqlite dump a jasnější mi to přijde v prvním případě.
Název: Re:Záloha TeamSpeak serveru na VPS
Přispěvatel: _Jenda 19. 10. 2020, 20:18:00
Samozřejmě jde. Ale řekl bych, že pro úplného laika je srozumitelnější dump z mysql / marie. Ale třeba se pletu (a soudím podle sebe) - zkusil jsem první link v googlu na mysql/maria dump a pak sqlite dump a jasnější mi to přijde v prvním případě.
Mně naopak přijde ve všech ohledech jednodušší sqlite -- je to jeden soubor, nemusí se vůbec nic systémového nastavovat, triviální testování (soubor se vyrobí jinde, nahradí se…). Jiné DB než sqlite používám pouze pokud potřebuji nějakou funkcionalitu, kterou sqlite neumí (rozumně rychlý přístup více procesů, rozumně rychlý přístup po síti…). Přiznám se, že jsem ale sqlite nikdy nedumpoval, byly to vždycky věci, kdy šel soubor odkopírovat když se na něj nesahalo.
Název: Re:Záloha TeamSpeak serveru na VPS
Přispěvatel: _Jenda 19. 10. 2020, 21:29:18
Mimochodem když jsme u toho, tak sqlite je možná lepší nedumpovat, ale zkopírovat -- existuje příkaz, který to udělá za běhu a konzistentně. https://stackoverflow.com/questions/41744297/do-the-sqlite3-backup-and-dump-commands-lock-the-database
Název: Re:Záloha TeamSpeak serveru na VPS
Přispěvatel: David Lanc 19. 10. 2020, 22:54:14
Tady by asi bylo nejlepší řešení si udělat script, který se bude připojovat přes telnet na TeamSpeak Query. Přes něj lze vytvářet snadno snapshoty, které obsahují celou konfiguraci serveru (mimo souborů) a zabírají jen pár kb. Klidně takto můžete zálohovat každou hodinu a v případě potřeby během pár sekund obnovit..
https://lethallhost.com.br/clientes/TeamSpeak%203%20Server%20Query%20Manual.pdf
Název: Re:Záloha TeamSpeak serveru na VPS
Přispěvatel: Josef Komjati 20. 10. 2020, 19:26:01
Mně naopak přijde ve všech ohledech jednodušší sqlite -- je to jeden soubor, nemusí se vůbec nic systémového nastavovat, triviální testování (soubor se vyrobí jinde, nahradí se…). Jiné DB než sqlite používám pouze pokud potřebuji nějakou funkcionalitu, kterou sqlite neumí (rozumně rychlý přístup více procesů, rozumně rychlý přístup po síti…). Přiznám se, že jsem ale sqlite nikdy nedumpoval, byly to vždycky věci, kdy šel soubor odkopírovat když se na něj nesahalo.

No právě. A tím že ts3server v ideálním případě běží jako servica...


Mimochodem když jsme u toho, tak sqlite je možná lepší nedumpovat, ale zkopírovat -- existuje příkaz, který to udělá za běhu a konzistentně. https://stackoverflow.com/questions/41744297/do-the-sqlite3-backup-and-dump-commands-lock-the-database

Aha, to jsem nevěděl (jak říkám, nejsem znalec sqlite). Alespoň se něco nového přiučím :-)
Název: Re:Záloha TeamSpeak serveru na VPS
Přispěvatel: David Lanc 26. 10. 2020, 10:17:34
Dělat v TS3 zálohu DB (mimo snapshot generovaný TS3) bez zálohy souborů ze stejného času je cesta do pekel. Při obnově pak narazíte na problém, že v db jsou desítky / stovky odkazů na neexistující, nebo změněné soubory. Nedejbože, pokud mezitím proběhne update verze TS3 serveru a nebudete mít zálohu na původní verzi
Název: Re:Záloha TeamSpeak serveru na VPS
Přispěvatel: Sam Samovic 27. 10. 2020, 23:07:34
Zdravím,
Mám koupené VPS, kde hostuju pár herních serverů a nyní jsem si tam vytvořil i teamspeak server, jenže jsem nemyslel na zálohování. Na nastavení teamspeaku jsem si našel kamaráda, jsem na TS úplně blbej.
Jak mohu backupnout ts? (Roomky, permisse, to stačí :D)
Něco jsem četl, tak vím, že ikonky a soubory zálohovat nelze.
Jaký skript na to použít a jak použít ten skript?
Je někde nějáké české video? Jsem spíše začátečník tak bych potřeboval třeba nějáké video nebo někoho, kdo mi to ukáže přes sdílení obrazovky přímo v praxi a něco mi k tomu řekne. Je to docela nutné...

Prosím pochopte moji situaci, jsem začátečník.
Jak jste začínali vy?
Dokažte, že jste komunita rozumných lidí a dokážete pomoct a nepsal komentáře typu google.com/search=?teamspeak-backup-script.
Kdybych něco přes google našel, tak bych dotaz tady nepsal.
Našel jsem některé skripty, ale nevím jak je použít.

Vím, že přes YaTQU jdou dělat snapshoty, ale já potřebuju ten snapshot uložit do VPS, ne ke mně do PC.

Předem velice děkuji.
S pozdravem, Majk.

Sam jsem nekolikrat prenasel TS3 server mezi servery ( z windows na linux ). Takze zaklad je vzit jak psal nekdo prede mnou sqlite databazi v ktere je veskera konfigurace ( kanaly, uzivatele, prava ). Samozrejme je nutne kvuli konzistenci zastavit TS3 server. A samozrejme ze lze zalohovat i ikony a soubory ..

V podstate nejjednodussi zpusob je. Mas teamspeak server napriklad v adresari /opt/teamspeak3 ( root ) instalace.
Takze vytvoris archiv a zazalohujes vse v /opt/teamspeak3. Pokud nechces logy, excludnes obsah adresare ./logs. V adresari ./files jsou jednotlive ikony a soubory nahrane v jednotlivych kanalech.

Ja si napriklad doma  provozuji teamspeak3 server v docker containeru a data persistuji do /data/teamspeak
Kdyz vypisu /data/teamspeak

drwx------ 4   9987  9987    4096 Okt 24 10:43 files
drwx------ 2   9987  9987    4096 Okt 26 17:04 logs
-rw-r--r-- 1   9987  9987       0 Okt 24 10:41 query_ip_blacklist.txt
-rw-r--r-- 1   9987  9987      14 Okt 24 10:41 query_ip_whitelist.txt
-rw-r--r-- 1   9987 root        0 Okt 24 10:42 .ts3server_license_accepted
-rw-r--r-- 1   9987  9987 2674688 Okt 27 12:44 ts3server.sqlitedb
-rw-r--r-- 1   9987  9987   32768 Okt 27 12:44 ts3server.sqlitedb-shm
-rw-r--r-- 1   9987  9987 2514184 Okt 27 12:44 ts3server.sqlitedb-wal