Резервные копии VPS: архив файлов, дамп базы и копия на свой компьютер
Минимальный бэкап руками: tar для /etc, /var/www и /home, mysqldump или pg_dumpall для базы, scp на компьютер. И почему копия на самом сервере — не копия.

Резервная копия — страховка от взлома, случайного rm -rf, неудачного обновления и ошибок в собственных скриптах. Сделать её руками занимает пять минут. Ниже минимальный вариант без дополнительных программ; автоматический ежедневный бэкап в S3 — в статье restic.
Копия на самом сервере — не копия. Если сервер взломают или диск умрёт, она пропадёт вместе со всем остальным. Сразу забирайте архив на свой компьютер или в облако.
1. Архив важных папок
Обычно всё ценное лежит в трёх местах: /etc (настройки системы и сервисов), /var/www (сайты) и /home (данные пользователей). Если приложения живут в /opt — добавьте и его.
sudo tar -czf /tmp/backup-$(date +%F).tar.gz /etc /var/www /home
sudo chown $USER: /tmp/backup-*.tar.gz
ls -lh /tmp/backup-*.tar.gz
Если какой-то папки нет, tar предупредит и упакует остальное — это нормально.
2. Дамп базы данных
Файлы работающей базы копировать нельзя: получится несогласованный мусор. Нужен дамп.
MySQL и MariaDB:
sudo mysqldump --all-databases --single-transaction -u root -p > /tmp/databases-$(date +%F).sql
sudo chown $USER: /tmp/databases-*.sql
PostgreSQL:
sudo -u postgres pg_dumpall > /tmp/databases-$(date +%F).sql
База в Docker — дамп делается через exec в контейнер:
docker compose exec -T db pg_dump -U app app > /tmp/app-$(date +%F).sql
docker compose exec -T db mysqldump -u root -p"$MYSQL_ROOT_PASSWORD" --all-databases > /tmp/app-$(date +%F).sql
Если базы нет — пропустите шаг.
3. Скачайте копию к себе
На своём компьютере:
scp admin@IP_СЕРВЕРА:/tmp/backup-2026-11-04.tar.gz .
scp admin@IP_СЕРВЕРА:/tmp/databases-2026-11-04.sql .
Если SSH на другом порту: scp -P 2222 .... На Windows scp есть в PowerShell, а для перетаскивания мышкой подойдёт FileZilla с адресом sftp://IP_СЕРВЕРА.
Затем удалите временные файлы на сервере — в них пароли из /etc и содержимое базы:
rm /tmp/backup-*.tar.gz /tmp/databases-*.sql
Проверяйте копии
Бэкап, из которого никто ни разу не восстанавливался, считается несуществующим. Хотя бы посмотрите, что внутри:
tar -tzf backup-2026-11-04.tar.gz | head -50
Раз в несколько месяцев разверните копию на тестовом сервере целиком: сервер на tanaka.host можно создать на час и удалить, это стоит копейки.
Когда делать
- Перед любым серьёзным изменением: обновление панели, миграция базы, смена версии PHP.
- Минимум раз в неделю для рабочих проектов, а лучше каждую ночь автоматически.
Автоматизация с шифрованием, дедупликацией и ротацией — в статье Бэкап VPS в S3 с помощью restic.