3

Я сделал rsync от удаленного к локальному. Теперь я хочу обновить измененные или более новые файлы. Как я могу добиться этого с rsync?

rsync -avz --progress -u -e ssh ServerName:FolderPath/FolderName LocalFolderName

Он продолжает скачивать все файлы.

3 ответа3

3

Посмотрите на переключатель - --update . От man rsync:

-u, --update                skip files that are newer on the receiver

РЕДАКТИРОВАТЬ: -a подразумевает -rlptgoD , я не принял это во внимание. Как я сказал в комментариях: дайте нам вывод команды. Это покажет, действительно ли файлы переданы или просто проверены на наличие изменений, а затем проигнорированы.

1

Я делаю это немного по-другому, создавая файл TAR из всех файлов, которые я хочу сохранить на хосте, затем используя rsync, чтобы передать этот файл на резервный контроллер.

rsync -e ssh -av --verbose --progress --log-file=rsync.log user@host:/home/user/backups/all_backup_files.tar /cygdrive/f/_host_backups >> F:\_host_backups\log.txt

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

0

Все что я делаю

rsync -avz user@remote.com:/remote/path /local/path

Я запускаю это каждую ночь (но с удаленным и локальным обменом), чтобы запустить автономное резервное копирование, и все, что он передает, - это отличия от каталога резервного копирования с 20 с лишним гигабайтов.

Я также добавил «--delete» для удаления файлов с удаленного компьютера, которые я удалил с локального компьютера, но я взял этот пример здесь, чтобы избежать путаницы (и потери данных от людей, которые копируют и вставляют перед чтением )

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .