RSYNC к окнам CIFS копирует все каталоги на обновлении (но не старое содержание)

Это, вероятно, пытается считать что-то из версии на 64 бита окон, а не версии на 32 бита окон. Удостоверьтесь, что у Вас есть установленный клиент SQL-сервера на 32 бита и функционирующий правильно. Кроме того сообщения appcrash, который должен сказать Вам который DLL вставить wow32.

3
задан 2 November 2011 в 18:38
4 ответа

То, что вы хотите сделать, должно быть возможно с параметром - relative (или -R ) и предыдущим запуском find для создания списка файлов:

find /cvs1 -type f -not \( -name *Locks -o -name tmp \) -print0 > filelist
rsync -pR --modify-window=1 -0 \
      --files-from=filelist /mnt/DUBBU01/Linux/Buzz/

Здесь вы создаете список файлов с завершающим нулем (только файлы, а не каталоги) и передаете его в rsync в качестве источника для этой операции, сообщая ему о завершении нуля с помощью -0 . Это полезно, чтобы избежать проблем с пробелами и т. Д. В именах файлов.


из справочной страницы rsync:

   -R, --relative

Использовать относительные пути. Это означает, что на сервер отправляются полные имена путей, указанные в командной строке, а не только последние части имен файлов. Это особенно полезно, если вы хотите отправить несколько разных каталогов одновременно. Например, если вы использовали эту команду:

rsync -av /foo/bar/baz.c remote:/tmp/

... это создаст файл с именем baz.c в / tmp / на удаленном компьютере. Если вместо этого вы использовали

rsync -avR /foo/bar/baz.c remote:/tmp/

, то на удаленном компьютере был бы создан файл с именем /tmp/foo/bar/baz.c - полное имя пути сохраняется.

1
ответ дан 3 December 2019 в 07:11

Имеет ли значение, что он каждый раз рассматривал возможность делать что-то с каталогами? Я заметил такое поведение с некоторыми из наших резервных копий rsync из общих ресурсов CIFS, но проигнорировал его, так как худшее влияние, которое оно оказывает, заключается в том, что в файлах журнала есть дополнительные строки, которые нам нужно сканировать, если возникнет проблема для исследования. Это не (в нашем случае) приводит к какой-либо заметной дополнительной передаче данных, поскольку ни один из файлов не затрагивается, если только они сами не были изменены, и если удаленные папки вообще подвергаются воздействию, самое большее, что происходит, - это настройка владение / разрешения / даты, которые не вызовут значительной нагрузки ввода-вывода, поэтому потребуется много времени.

Изменить: В качестве альтернативы их игнорированию вы можете отфильтровать их из вывода, пропустив его через grep -v / $ , поскольку каталоги в журнале имеют завершающие разделители путей, а файлы - нет. Не идеально, но он удалит лишний вывод из поля зрения, пока вы не найдете лучшее решение.

Кроме того, просматривая наши последние журналы, чтобы убедиться, что команда grep, я замечаю, что она не , включая в нашем случае все каталоги, только те, в которых было содержимое, изменяются (и некоторые, в которых нет, но немного). Два различия между нашими параметрами rsync и теми, которые вы указываете, заключаются в том, что мы не сохраняем разрешения (нет -p / - perms ) и используем больший - изменить окно (10 секунд, а не 1). Возможно, стоит попробовать опцию - itemize-changes , чтобы увидеть, дает ли она ключ к разгадке того, почему нужно касаться каждого каталога.

но он удалит лишний вывод из поля зрения, пока вы не найдете лучшее решение.

Кроме того, просматривая наши последние журналы, чтобы убедиться, что команда grep, я замечаю, что это не , включая все каталоги, в нашем случае изменяются только те, в которых было содержимое (и некоторые, но не многие). Два различия между нашими параметрами rsync и теми, которые вы указываете, заключаются в том, что мы не сохраняем разрешения (нет -p / - perms ) и используем больший - изменить окно (10 секунд, а не 1). Возможно, стоит попробовать опцию - itemize-changes , чтобы увидеть, дает ли она ключ к разгадке того, почему нужно касаться каждого каталога.

но он удалит лишний вывод из поля зрения, пока вы не найдете лучшее решение.

Кроме того, просматривая наши последние журналы, чтобы убедиться, что команда grep, я замечаю, что это не , включая все каталоги, в нашем случае изменяются только те, в которых было содержимое (и некоторые, но не многие). Два различия между нашими параметрами rsync и теми, которые вы указываете, заключаются в том, что мы не сохраняем разрешения (нет -p / - perms ) и используем больший - изменить окно (10 секунд, а не 1). Возможно, стоит попробовать опцию - itemize-changes , чтобы увидеть, дает ли она ключ к разгадке того, почему нужно касаться каждого каталога.

просматривая наши самые последние журналы, чтобы убедиться, что команда grep, я замечаю, что она не , включая все каталоги, а только те, в которых есть содержимое, изменяются (и некоторые из них не изменяются) т, но не много) в нашем случае. Два различия между нашими параметрами rsync и теми, которые вы указываете, заключаются в том, что мы не сохраняем разрешения (нет -p / - perms ) и используем больший - изменить окно (10 секунд, а не 1). Возможно, стоит попробовать опцию - itemize-changes , чтобы увидеть, дает ли она ключ к разгадке того, почему нужно касаться каждого каталога.

просматривая наши самые последние журналы, чтобы убедиться, что команда grep, я замечаю, что она не , включая все каталоги, а только те, в которых есть содержимое, изменяются (и некоторые из них не изменяются) т, но не много) в нашем случае. Два различия между нашими параметрами rsync и теми, которые вы указываете, заключаются в том, что мы не сохраняем разрешения (нет -p / - perms ) и используем больший - изменить окно (10 секунд, а не 1). Возможно, стоит попробовать опцию - itemize-changes , чтобы увидеть, дает ли она ключ к разгадке того, почему нужно касаться каждого каталога.

в нашем случае изменяются только те, в которых есть контент (и некоторые, которые не содержат, но не многие). Два различия между нашими параметрами rsync и теми, которые вы указываете, заключаются в том, что мы не сохраняем разрешения (нет -p / - perms ) и используем больший - изменить окно (10 секунд, а не 1). Возможно, стоит попробовать опцию - itemize-changes , чтобы увидеть, дает ли она ключ к разгадке того, почему нужно касаться каждого каталога.

в нашем случае изменяются только те, в которых есть контент (и некоторые, которые не содержат, но не многие). Два различия между нашими параметрами rsync и теми, которые вы указываете, заключаются в том, что мы не сохраняем разрешения (нет -p / - perms ) и используем больший - изменить окно (10 секунд, а не 1). Возможно, стоит попробовать опцию - itemize-changes , чтобы увидеть, дает ли она ключ к разгадке того, почему нужно касаться каждого каталога.

1
ответ дан 3 December 2019 в 07:11

У меня была такая же проблема (папки были перечислены в выводе, когда я запускал rsync ). Изменения в элементах указывали, что разрешения обновлялись каждый раз, и я устранил проблему с помощью параметра - no-p (я использовал rsync -avz ). В вашем случае разрешения не важны, поэтому я думаю, вы можете просто использовать -rltDv вместо -rlptDv .

0
ответ дан 3 December 2019 в 07:11

Думаю, вам нужна опция rsync '--prune-empty-dirs'

.
0
ответ дан 3 December 2019 в 07:11

Теги

Похожие вопросы