rsync копирует только изменившиеся блоки — быстрее cp и экономит трафик по SSH.

# базовая синхронизация директории
rsync -av /src/ /dst/

# предварительный просмотр без изменений
rsync -av --dry-run /src/ /dst/

# исключить временные файлы и кэш
rsync -av --exclude='*.tmp' --exclude='.cache/' /src/ /dst/

# по SSH с прогресс-баром
rsync -avz --progress user@remote:/data/ /backup/data/

Скрипт инкрементального бэкапа с датой:

#!/bin/bash
SRC=/var/www/
DST=/backup/www/
DATE=$(date +%F)

rsync -av --link-dest="$DST/latest" \
  --exclude='*.log' \
  "$SRC" "$DST/$DATE/"

ln -sfn "$DST/$DATE" "$DST/latest"

--link-dest создаёт жёсткие ссылки на неизменившиеся файлы — каждый снапшот занимает только дельту. Удалять старые снапшоты безопасно: файлы не пропадают, пока на них есть хотя бы одна ссылка.

#linux #bash #backup #sysadmin