Rsync создает каталог \ # 015

У меня есть виртуальный сервер Ubuntu, работающий на моем сервере Windows. К этому серверу подключено 2 внешних жестких диска, которые смонтированы в Ubuntu.

Теперь я пытаюсь запустить rsync для синхронизации каталога на рабочем столе и на моем сервере Windows.

Я делаю это следующим образом:

rsync -av --update christophe@begijnhof.no-ip.org:/home/seagate/Syncfolder/Pictures/ /syncs/pictures

/syncs/pictures является символической ссылкой на /cygdrive/c/../pictures. Все эти символические ссылки работают правильно, и удаленный каталог тоже существует.

Теперь, когда я запускаю указанную выше команду rsync, она делает это:

created directory /syncs/pictures\#015

Это фактически создает каталог с именем «pictures» в моей папке / syncs /. Так что не в символической ссылке. Рядом с символической ссылкой:

$ ls
pictures pictures?

Когда я добавляю косую черту к месту назначения:

rsync -av --update christophe@begijnhof.no-ip.org:/home/seagate/Syncfolder/Pictures/ /syncs/pictures/

Он создает каталог с именем "# 015" (странная точка) внутри моей фактической Папка с картинками на моей башне!

Я думаю, это как-то связано с кодировкой?

Я написал все сценарии bash в notepad ++ с кодировкой в ​​ANSI.

3
задан 28 August 2013 в 14:54

2 ответа

Фундаментальная проблема здесь - по крайней мере, в моем случае - заключалась в том, что рассматриваемый файл имел соглашение Windows о символе CR + LF в конце файла сценария, в отличие от соглашения * nix простого использования только LF , Чтобы это исправить, вам нужно изменить сам файл скрипта так, чтобы он следовал * nix соглашениям. Ответ выше предлагает несколько хороших способов сделать это. Некоторые редакторы (например, Notepad ++) имеют похожую встроенную функциональность.

0
ответ дан 28 August 2013 в 14:54

Я решил эту проблему, запустив dos2unix в Windows для всех файлов сценариев. Вы также можете сделать это в Linux.

0
ответ дан 28 August 2013 в 14:54

Другие вопросы по тегам:

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