Почему rsync пытается скопировать файл, который уже обновлен?

У меня есть два одинаковых файла, на локальном компьютере и на удаленном. Их размеры равны, а файл на локальном компьютере более новый, чем на удаленном, но rsync все еще пытается скопировать файл.

Я вызываю rsync следующим образом:

rsync -nv -e "ssh -p 2222" user@host:/data/file.fif data/file.fif 

(если я не использую опцию -n , она инициирует операцию копирования)

В документах Rsync явно указано, что это не должно происходить:

 Rsync finds files that need to be transferred using a "quick check" algorithm (by default) that looks for files that have changed in size or in last-modified time. 

Выходы из stat :

 # remote file File: `data/fif/Skovorodko_Olga_45_raw.fif' Size: 1137551966 Blocks: 2221784 IO Block: 4096 regular file Device: fd00h/64768d Inode: 286338 Links: 1 Access: (0664/-rw-rw-r--) Uid: ( 1037/ platon) Gid: ( 1047/ platon) Access: 2013-08-08 18:40:16.907581658 +0400 Modify: 2013-07-16 12:01:09.158763284 +0400 Change: 2013-07-16 12:01:09.158763284 +0400 # local file File: `data/fif/Skovorodko_Olga_45_raw.fif' Size: 1137551966 Blocks: 2221792 IO Block: 4096 regular file Device: 801h/2049d Inode: 12987232 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 1005/ platon) Gid: ( 1003/ platon) Access: 2013-08-08 19:02:57.146223369 +0400 Modify: 2013-08-08 19:02:57.146223369 +0400 Change: 2013-08-08 19:02:57.146223369 +0400 

Почему это происходит?

ОБНОВИТЬ:

Выполнение файла результатов rsync --size-only не копируется:

 delta-transmission enabled Skovorodko_Olga_45_raw.fif is uptodate total: matches=0 hash_hits=0 false_alarms=0 data=0 sent 14 bytes received 114 bytes 85.33 bytes/sec total size is 1137551966 speedup is 8887124.73 (DRY RUN) 

One Solution collect form web for “Почему rsync пытается скопировать файл, который уже обновлен?”

Алгоритм быстрой проверки будет рассматривать как модифицированный любой файл с разным временем модификации или разным размером. Итак, если ваш целевой каталог имеет более новую версию одного и того же файла, он будет считаться другим, и он будет синхронизирован с исходной версией.

Это ожидаемое (и более безопасное) поведение. Например, давайте предположим, что у вас есть две директории: ~ / src и ~ / dest, каждая из которых имеет файл foobar. В ~ / src / foobar вы пишете «foo», а затем в ~ / dest / foobar пишете «bar». Теперь вы rsync ~ / src в ~ / dest. Что бы вы ожидали?

Оба файла имеют одинаковый размер, но один в ~ / dest более новый. Стандартное поведение Rsync заключается в замене ~ / dest / foobar на ~ / src / foobar. Конечно, файлы могут быть идентичными, и это было бы ненужным, но нет никакого способа узнать это, если вы не будете делать контрольную сумму или сравнивать бит за бит.

Если вы не хотите этого поведения, то есть хотите сохранить более новые файлы в ресивере, вы должны использовать флаг -u (–update).

-u, –update Это заставляет rsync пропускать любые файлы, которые существуют в пункте назначения, и имеет модифицированное время, которое является более новым, чем исходный файл. (Если существующий файл назначения имеет время модификации, равное исходному файлу, оно будет обновляться, если размеры отличаются.)

  • rsync продолжает отсоединяться: сломанная труба
  • Почему мой rsync медленный?
  • rsync репозиторий OpenIndiana на локальном сервере
  • Ускорить / избежать вычисления списков файлов rsync
  • Повреждение файлов с использованием rsync, нескольких процессов rsync, перемещение / переименование исходного файла
  • rsync переделывать файлы?
  • Rsync над пользовательской оболочкой с fifo
  • cp или rsync, действительно ли CP это стоит?
  • Как я могу переместить (rsync) огромное количество данных, надежно, может обрабатывать сетевые прерывания?
  • Нужно ли передавать файлы tar через «rsync» в режиме архивации?
  • rsync не будет записывать на установленный общий ресурс NFS
  • Interesting Posts

    процесс pkill, содержащий специальные символы

    Является ли oops ядра, зараженного промежуточным устройством, менее вероятным для изучения?

    Будет ли grep быстрее работать с разрывами строк?

    Закрытие консоли

    `which`, но все

    ./configure: Что такое безумная среда сборки?

    Почему Aircrack-ng способен читать и использовать файл .lst, который Leafpad не мог в разумные сроки?

    Как установить CentOS 7.x (последняя) на моем HP-15ac048tu?

    polkit-gnome-authentication-agent-1 не запускается автоматически после обновления

    «Sed» переписать файл для отображения целых чисел и удалить оставшиеся символы

    Что приводит к тому, что вывод xserver становится пустым при переключении на консоль tty?

    tshark dump только при сопоставлении строки

    Найти мой компьютер в сети LAN

    Как найти связь между интерфейсом крана и его файловым дескриптором?

    Как я могу обнулить файлы в файле образа VMware, чтобы их пространство было исправлено?

    Linux и Unix - лучшая ОС в мире.