Jump to content
Fivem-DEV.cz
Samnick

Automatické zálohování databáze (Linux Only)

Recommended Posts

Jednoduchý BASH script, kterým můžeme použít v linuxovém prostředí, pomocí kterého automaticky můžeme zálohovat svůj FIVEM server, ale i také např. i databázi svého webu.

 

Nejprve si uložíme přiložený soubor do zvoleného umístění ve svém linuxovém prostředí.

DB_BACKUP

Např do /root

uloženému souboru je potřeba nastavit oprávnění "spouštění" to provedeme příkazem chmod

chmod +x /root/db_backup.sh

Cestu k souboru změníme dle vašeho umístění souboru.

Následně si upravíme proměnné v bash souboru. Zvolte si svůj preferovaný editor, Např.: nano, vi, vim, mcedit, atd. a přistoupíme k editaci souboru.

vi /root/db_backup.sh

V souboru editujeme POUZE řádky 10, 14, 16, 20, 22

Na řádku č.: 10 zvolíme číselnou hodnotu v počtu dní dle své možnosti jak dlouho chceme uchovávat backup soubory. Defaultní hodnota je nastavena na 60dní

řádek č.:14 určuje název zálohovaného souboru.

řádek č.:16 určuje název databáze

řádek č.:18 určuje ip/url daného DB serveru

řádek č.:20 určuje jméno uživatele, který má přístup do databáze. Doporučuji vždy vytvářet pro fivem i podobné scripty uživatele kde jsou omezeny oprávnění, tak aby Vám script, nebo i fivem nemohlo mazat celé tabulky/databáze na serveru 

řádek č.:22 určuje heslo pro daného uživatele

 

Pro vyzkoušení provedeme ruční spuštění scriptu

./root/db_backup.sh 

Po spuštění správný výsledek je takto:

root@vps-7e50ff9f:/# ./root/db_backup.sh
BACKUP STARTED
FILES DELETED!!
root@vps-7e50ff9f:/#

 

Nyní se můžeme podívat do složky kde jsou připravovány zálohy na první vytvořený soubor

ls -la /mnt/backups/mysqlbackup/2021-04-22/

Cesta se musí upravit dle datumu spuštění scriptu. Zálohy jsou ukládány separátně dle dnů a soubory jsou pak časovány

Výsledek je např.: takto:

root@vps-f9f:~# ls -la /mnt/backups/mysqlbackup/2021-04-22/
total 37648
drwxr-xr-x 2 root root    4096 Apr 22 12:21 .
drwxr-xr-x 3 root root    4096 Apr 22 10:12 ..
-rw-r--r-- 1 root root 967695686 Apr 22 10:12 severussnape-10-12.sql
-rw-r--r-- 1 root root 967698611 Apr 22 10:17 severussnape-10-17.sql
-rw-r--r-- 1 root root 967700201 Apr 22 10:30 severussnape-10-30.sql
-rw-r--r-- 1 root root 967711570 Apr 22 11:30 severussnape-11-30.sql
-rw-r--r-- 1 root root 967732090 Apr 22 12:21 severussnape-12-21.sql


Nyní nastavíme automatizaci. Script zadáme do CRONu.

editaci CRONtab tabulky provedeme příkazem

crontab -e

Chceme-li zálohovat každých 10min tak přidáme na konec souboru tento řádek

*/10 * * * * /root/db_backup.sh

Uložení pak provedeme mimo "insert" mód zadáním :wq

Po uložení dostaneme oznámení

crontab: installing new crontab

 

Toto je kompletní nastavení zálohování. 

  • Like 1

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Our partners

rcore.cz
K4mb1
SLTH
×
×
  • Create New...