Я хочу запустить rsync на сервере A, чтобы скопировать все файлы с сервера B, если они не старше 7 дней (найти. -Mtime -7)
Я не хочу удалять файлы на сервере B.
Спасибо за помощь.
Это должно дать вам твердый ход
rsync -RDa0P \
    --files-from=<(find sourcedir/./ -mtime -7 -print0) \
    . user@B:targetdir/
Это копирует узлы устройства, разрешения, временные метки. Я почти уверен, что опция -H не будет точной с --files-from
Я написал этот сценарий на основе комментария Cybertoast для синхронизации с удаленного сервера на локальный.
Вы можете вызвать скрипт с помощью ./script.sh 3 или ./script.sh 3 dry для пробного запуска. 
#!/bin/bash
TIME=$1
DRYRUN=$2
if [[ -z $TIME ]]; then
  echo "Error: no time argument."
  echo "Please enter the number of days to sync."
  exit 1
fi
if [[ $DRYRUN = "dry" ]]; then
  DRYRUNCMD="--dry-run"
  echo "Dry run initiated..."
fi
rsync -avz $DRYRUNCMD --files-from=<(ssh \
    user@remote "find path/to/data/ \
    -mtime -$TIME ! -name *.mkv -type f \
    -exec ls $(basename {}) \;") \
  user@remote:. .