Если у вашего сервера нет вкладки Резервные копии, ваш тариф не включает автоматическое резервное копирование из панели: о резервных копиях заботитесь вы сами. Хорошая новость: настройка занимает десять минут, а сэкономить может месяцы работы.
Что копировать
- Игровые серверы: мир или сохранение, конфиги и ресурсы или моды, которые вы меняли.
- Базы данных: всегда через дамп (
mysqldump), а не копированием папки с данными при работающем сервере. - Сайты и боты: код,
.envили конфиг и их база данных.
Операционную систему копировать не нужно: если сервер потерян, она переустанавливается за минуты. Невосполнимы только ваши данные.
Windows: автоматическая ежедневная копия
Сохраните это как C:\copias\copia.ps1 (замените пути на свои):
$fecha = Get-Date -Format "yyyy-MM-dd"
$destino = "C:\copias\$fecha"
New-Item -ItemType Directory -Force -Path $destino | Out-Null
# 1) Файлы сервера (пример: FiveM)
robocopy "C:\FXServer\txData" "$destino\txData" /E /R:1 /W:1 /NFL /NDL
# 2) База данных (укажите в пути свою версию MariaDB)
& "C:\Program Files\MariaDB 11.4\bin\mysqldump.exe" -u root -pVASH_PAROL --all-databases --single-transaction --result-file="$destino\bases-de-datos.sql"
# 3) Удаляем копии старше 7 дней
Get-ChildItem "C:\copias" -Directory | Where-Object { $_.CreationTime -lt (Get-Date).AddDays(-7) } | Remove-Item -Recurse -Force
И запланируйте его запуск каждый день в 5:00 (PowerShell от имени администратора):
schtasks /Create /TN "Daily backup" /SC DAILY /ST 05:00 /RU SYSTEM /TR "powershell -ExecutionPolicy Bypass -File C:\copias\copia.ps1"
Linux: автоматическая ежедневная копия
Создайте /root/copia.sh:
#!/bin/bash
FECHA=$(date +%F)
DESTINO=/root/copias/$FECHA
mkdir -p "$DESTINO"
# 1) Файлы сервера (пример: Minecraft)
tar -czf "$DESTINO/minecraft.tar.gz" -C /home/minecraft servidor
# 2) База данных, если есть
mysqldump --all-databases --single-transaction > "$DESTINO/bases-de-datos.sql"
# 3) Удаляем копии старше 7 дней
find /root/copias -mindepth 1 -maxdepth 1 -type d -mtime +7 -exec rm -rf {} +
chmod +x /root/copia.sh
crontab -e
# и добавьте в конец эту строку:
0 5 * * * /root/copia.sh
Храните копии вне сервера
Копия, которая лежит на том же VPS, не спасёт, если вы потеряете сам VPS. Храните хотя бы одну копию в другом месте:
- На вашем ПК: в Windows — через общий диск удалённого рабочего стола; в Linux — с помощью WinSCP или FileZilla (как это сделать).
- В облаке, автоматически: rclone работает в Windows и Linux и загружает файлы в Google Drive, OneDrive, Dropbox или S3. Настроив его командой
rclone config, добавьте в конец скрипта что-то вродеrclone copy /root/copias midrive:copias-vps.
Проверьте, что копии восстанавливаются
Копия, которую вы ни разу не пробовали восстановить, — это надежда, а не резервная копия. Раз в месяц распакуйте одну из них в другую папку и убедитесь, что всё на месте.
Перед переустановкой, крупными изменениями или вайпом всегда делайте копию вручную.