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

The source and destination cannot both be remote.
rsync error: syntax or usage error (code 1) at main.c(1166) [Receiver=3.0.9]

или же

Unexpected remote arg: 02\:12\:43.481000"
rsync error: syntax or usage error (code 1) at main.c(1232) [sender=3.0.9]

(обратите внимание, что мой вариант использования - это набор файлов с датами в именах)

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

rsync -avz my_special_files* othermachine:/other/path/

1 ответ1

0

Сделайте это из родительского каталога:

rsync -avz parent_directory/my_special_files* othermachine:/other/path/

и это работает (по крайней мере, в Ubuntu 12.04 с версией 30 протокола rsync 3.09).

Причина? что-то делать с логикой, которую rsync использует для распознавания хостов. Прямая косая черта, которой предшествуют слова, кажется, не считается хостом. Как ни странно, когда я использовал find , так что к именам добавился «./», это все равно не сработало.

Есть несколько дискуссий по этому вопросу, например, но они не говорят об использовании групповых символов и тому подобного. Они, однако, вдохновили меня попробовать то, что сработало в конце.

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