Jeśli na Twoim serwerze nie ma zakładki Kopie zapasowe, Twój plan nie obejmuje automatycznych kopii z poziomu panelu: kopie zapasowe są po Twojej stronie. Dobra wiadomość jest taka, że ich skonfigurowanie zajmuje dziesięć minut, a może zaoszczędzić Ci miesięcy pracy.
Co kopiować
- Serwery gier: świat lub zapis gry, pliki konfiguracyjne oraz zasoby lub mody, które zostały zmienione.
- Bazy danych: zawsze za pomocą zrzutu (
mysqldump), nigdy przez kopiowanie folderu z danymi przy włączonym serwerze. - Strony WWW i boty: kod, plik
.envlub konfigurację oraz ich bazę danych.
Nie trzeba kopiować systemu operacyjnego: jeśli serwer przepadnie, zainstalujesz go ponownie w kilka minut. Nie da się natomiast odtworzyć Twoich danych.
Windows: automatyczna codzienna kopia
Zapisz to jako C:\copias\copia.ps1 (zmień ścieżki na własne):
$fecha = Get-Date -Format "yyyy-MM-dd"
$destino = "C:\copias\$fecha"
New-Item -ItemType Directory -Force -Path $destino | Out-Null
# 1) Pliki serwera (przykład: FiveM)
robocopy "C:\FXServer\txData" "$destino\txData" /E /R:1 /W:1 /NFL /NDL
# 2) Baza danych (dostosuj wersję MariaDB w ścieżce)
& "C:\Program Files\MariaDB 11.4\bin\mysqldump.exe" -u root -pTWOJE_HASLO --all-databases --single-transaction --result-file="$destino\bases-de-datos.sql"
# 3) Usuń kopie starsze niż 7 dni
Get-ChildItem "C:\copias" -Directory | Where-Object { $_.CreationTime -lt (Get-Date).AddDays(-7) } | Remove-Item -Recurse -Force
A potem zaplanuj jej uruchamianie codziennie o 5:00 (PowerShell jako administrator):
schtasks /Create /TN "Codzienna kopia" /SC DAILY /ST 05:00 /RU SYSTEM /TR "powershell -ExecutionPolicy Bypass -File C:\copias\copia.ps1"
Linux: automatyczna codzienna kopia
Utwórz plik /root/copia.sh:
#!/bin/bash
FECHA=$(date +%F)
DESTINO=/root/copias/$FECHA
mkdir -p "$DESTINO"
# 1) Pliki serwera (przykład: Minecraft)
tar -czf "$DESTINO/minecraft.tar.gz" -C /home/minecraft servidor
# 2) Baza danych, jeśli ją masz
mysqldump --all-databases --single-transaction > "$DESTINO/bases-de-datos.sql"
# 3) Usuń kopie starsze niż 7 dni
find /root/copias -mindepth 1 -maxdepth 1 -type d -mtime +7 -exec rm -rf {} +
chmod +x /root/copia.sh
crontab -e
# i dodaj na końcu tę linię:
0 5 * * * /root/copia.sh
Wynieś je poza serwer
Kopia przechowywana na tym samym VPS nie uratuje Cię, jeśli stracisz VPS. Przynajmniej jedną trzymaj poza nim:
- Na swoim komputerze: w Windows przez dysk udostępniony w pulpicie zdalnym; w Linuksie przez WinSCP lub FileZillę (jak to zrobić).
- W chmurze, automatycznie: rclone działa w Windows i Linuksie i wysyła pliki do Google Drive, OneDrive, Dropbox lub S3. Po skonfigurowaniu go poleceniem
rclone configdodaj na końcu swojego skryptu coś w rodzajurclone copy /root/copias midrive:copias-vps.
Sprawdź, czy da się je przywrócić
Kopia, której przywracania nigdy nie przetestowano, to nadzieja, a nie kopia. Raz w miesiącu rozpakuj jedną z nich w innym folderze i sprawdź, czy wszystko jest na miejscu.
Zanim przeinstalujesz system, wprowadzisz dużą zmianę lub zrobisz wipe, zawsze wykonaj kopię ręcznie.