Краткий ответ: rsync копирует каталоги через SSH и после первого запуска передаёт только изменения. Одна команда вроде rsync -avz /var/www/ user@storage:/srv/backups/www/ — это уже рабочий бэкап; добавляйте --delete, исключения и датированные снапшоты по мере роста.

Обзор

rsync — рабочая лошадка Linux-бэкапов: предустановлен почти везде, экономен к каналу и легко скриптуется. Этот гайд покрывает флаги, которые имеют значение, что включать и исключать, и трюк с жёсткими ссылками, превращающий простое зеркало в экономные снапшоты на момент времени.

Что нужно иметь

  • SSH-доступ к цели бэкапов, в идеале Storage VPS с аутентификацией по ключу.
  • Список каталогов, которые реально держат состояние: обычно /etc, /var/www, /home, дампы баз данных.
  • rsync с обеих сторон: apt install rsync (Debian/Ubuntu) или dnf install rsync (AlmaLinux/Rocky).

Пошаговая инструкция

  1. Начните с пробного запуска, чтобы увидеть, что будет скопировано:
    rsync -avzn /var/www/ [email protected]:/srv/backups/www/
  2. Выполните реальную передачу (уберите n):
    rsync -avz /var/www/ [email protected]:/srv/backups/www/
    -a сохраняет права/владельцев/время, -v показывает прогресс, -z сжимает при передаче.
  3. Исключите мусор, тратящий место:
    rsync -avz --exclude 'cache/' --exclude '*.tmp' /var/www/ [email protected]:/srv/backups/www/
  4. Зеркальте удаления только тогда, когда держите и снапшоты — --delete делает копию точной, но сам по себе убирает вашу страховку.
  5. Снапшоты с жёсткими ссылками — неизменённые файлы не стоят места:
    TODAY=$(date +%F)
    rsync -avz --delete --link-dest=/srv/backups/www-latest \
      /var/www/ [email protected]:/srv/backups/www-$TODAY/
    ssh [email protected] "ln -sfn /srv/backups/www-$TODAY /srv/backups/www-latest"

Типичные проблемы

  • Путаница с конечным слешем: /var/www/ копирует содержимое, /var/www — сам каталог внутрь цели; выберите одну конвенцию и держитесь её.
  • Базы данных скопированы вживую: сначала дампите их через mysqldump/pg_dump; сырые копии datadir чаще повреждены, чем нет.
  • Пропущенные root-файлы: запускайте задачу от пользователя, который может прочитать всё, что бэкапится, или осторожно используйте sudo.

Когда обращаться в поддержку

rsync — стандартный инструмент Linux; но если передачи на ваш Cloud2Y Storage VPS зависают или сеть стабильно рвётся посреди синхронизации, откройте тикет с временными метками и IP обоих серверов.

Частые вопросы

Что на самом деле делают флаги rsync -avz?

Флаг -a сохраняет права, владельцев и временные метки и идёт рекурсивно; -v печатает, что передаётся; -z сжимает данные в пути, что ускоряет передачи через интернет.

Стоит ли использовать опцию --delete в rsync?

Только когда вы также держите датированные снапшоты. С --delete цель зеркалит каждое удаление, так что сам по себе он охотно разносит вчерашнюю ошибку на вашу единственную копию.

Как снапшоты с жёсткими ссылками экономят место?

С --link-dest неизменённые файлы в новом датированном каталоге являются жёсткими ссылками на предыдущий снапшот, так что каждая ночь стоит только размер изменённых файлов, а выглядит как полная копия.

Похожие статьи

Готовы начать? Заказать Storage VPS в Cloud2Y →

Помог ли вам данный ответ? 0 Пользователи нашли это полезным (0 голосов)