Automatické zálohy na VPS
Jednoduchý skript, který každou noc zazálohuje soubory i databázi, smaže staré zálohy a pomůže je dostat mimo VPS.
2 min čtení·Aktualizováno 28. října 2026
Zálohy v panelu (záložka Zálohy) vrátí celou VPS do stavu před velkou změnou. Je jich ale omezený počet a po několika dnech se samy smažou – na dlouhodobé zálohy dat si nastav vlastní skript. Návod je pro Debian a Ubuntu.
1. Skript
Vytvoř /usr/local/bin/zaloha.sh a složky uprav podle sebe:
#!/bin/bash
set -euo pipefail
CIL=/root/zalohy
DNES=$(date +%F)
mkdir -p "$CIL"
# databáze – řádek smaž, pokud MariaDB nemáš
mariadb-dump --all-databases --single-transaction | gzip > "$CIL/db-$DNES.sql.gz"
# soubory (weby, aplikace); kód 1 = soubor se během čtení změnil, to nevadí
tar -czf "$CIL/soubory-$DNES.tar.gz" /var/www /opt || [ $? -eq 1 ]
# zálohy starší než 7 dní smaže
find "$CIL" -type f -mtime +7 -delete
chmod 700 /usr/local/bin/zaloha.sh
/usr/local/bin/zaloha.sh
ls -lh /root/zalohy
2. Spouštění každou noc
Přes crontab -e přidej řádek (víc v návodu Cron na VPS):
30 3 * * * /usr/local/bin/zaloha.sh >> /var/log/zaloha.log 2>&1
3. Kopie mimo VPS
Záloha na stejném disku nepomůže, když VPS přeinstaluješ nebo smažeš. Stahuj ji pravidelně jinam, třeba do svého počítače:
rsync -avz root@IP_VPS:/root/zalohy/ ~/zalohy-vps/
Do cloudového úložiště (Google Drive, S3 a další) nahraješ zálohy nástrojem rclone: nainstaluj ho (apt install -y rclone), úložiště nastav příkazem rclone config a na konec skriptu přidej rclone copy "$CIL" moje-uloziste:vps.
4. Obnova
tar -xzf /root/zalohy/soubory-DATUM.tar.gz -C /
gunzip < /root/zalohy/db-DATUM.sql.gz | mariadb
Obnovu si jednou vyzkoušej nanečisto, třeba rozbalením do jiné složky (mkdir /tmp/test a -C /tmp/test). Záloha, kterou jsi nikdy nezkusil obnovit, je jen naděje.
Herní světy a soubory, do kterých se pořád zapisuje, zálohuj při zastavené aplikaci nebo v klidné době. Zálohy obsahují i hesla – složku nikdy nezpřístupňuj přes web.
VPS od 299 Kč měsíčně
Vlastní virtuální server s root přístupem pro cokoliv, co potřebujete.