rsync: синхронизация серверов и резервное копирование

Миграция · 01.02.2025
rsync: синхронизация серверов и резервное копирование

Что такое rsync

rsync — утилита для эффективной синхронизации файлов между серверами. Передаёт только изменившиеся части файлов, что делает её идеальной для инкрементальных бэкапов.

💡 rsync передаёт только дельту (изменения) между файлами, а не весь файл целиком — это экономит трафик на 90% при бэкапах больших сайтов.

Основные ключи rsync

КлючОписание
-aАрхивный режим (рекурсия + права + метаданные)
-vVerbose — подробный вывод
-zСжатие при передаче
--deleteУдалять файлы на приёмнике, которых нет на источнике
--excludeИсключить файлы/папки
--dry-runТестовый прогон без реальных изменений
--link-destЖёсткие ссылки для инкрементальных бэкапов

Базовая синхронизация между серверами

# Синхронизация папки на удалённый сервер
rsync -avz --delete   /var/www/mysite/   user@backup-server:/backups/mysite/

# С исключениями
rsync -avz --delete   --exclude='wp-content/cache/'   --exclude='*.log'   /var/www/mysite/   user@backup-server:/backups/mysite/

Инкрементальные бэкапы с --link-dest

#!/bin/bash
DATE=$(date +%Y-%m-%d_%H%M)
DEST=/backups/mysite
LATEST=$DEST/latest

rsync -avz --delete   --link-dest=$LATEST   /var/www/mysite/   $DEST/$DATE/

# Обновляем ссылку на последний бэкап
rm -f $LATEST
ln -s $DEST/$DATE $LATEST
⚠️ --delete удаляет файлы на приёмнике без предупреждения. Всегда используйте --dry-run первый раз.
← Назад в базу знаний Задать вопрос поддержке