Бэкап сайта в Linux: создание tar архива и скачивание через SCP
Зачем делать ручной бэкап перед работами?
Перед обновлением CMS, установкой плагинов или правкой кода обязательно нужно иметь локальную копию. Если что-то пойдет не так, сайт можно восстановить за 2 минуты.
Что должен содержать полный бэкап сайта
| Компонент | Как создается | Пример имени |
|---|---|---|
| Файлы сайта | Архив tar.gz | files_2025-02-23.tar.gz |
| База данных | Дамп mysqldump | db_2025-02-23.sql |
Пошаговый процесс резервного копирования
- Создаем дамп базы данных:
mysqldump -u root -p my_database > /var/www/db_backup.sql - Упаковываем файлы сайта вместе с дампом в единый архив:
cd /var/www tar -czvf site_backup_$(date +%F).tar.gz html/ db_backup.sql - Удаляем временный незапакованный sql файл:
rm /var/www/db_backup.sql - Скачиваем архив на свой домашний компьютер через терминал (SCP):
# Эту команду запускаем на локальном ПК (Windows PowerShell / macOS / Linux): scp user@IP_СЕРВЕРА:/var/www/site_backup_*.tar.gz C:\Backups\
Если вы используете графический интерфейс, установите программу WinSCP для Windows, подключитесь по протоколу SFTP и просто перетащите файл мышкой.
Частые вопросы (FAQ)
Что означают флаги -czvf в команде tar?
-c (создать), -z (сжать gzip), -v (показывать процесс), -f (имя файла архива).
Как распаковать полученный архив обратно на сервере?
Командой: tar -xzvf site_backup_2025-02-23.tar.gz.
Что делать, если во время архивации закончилось место на диске?
Проверьте свободное место командой df -h. Сохраняйте бэкап в раздел с достаточным объемом.
Как исключить тяжелые кэш-папки из архива?
Используйте флаг: tar --exclude='html/var/cache' -czvf backup.tar.gz html/.