10

Мне нужно синхронизировать файлы на моем компьютере с сервером, к которому у меня есть только доступ по FTP. Поэтому я не могу использовать rsync (для этого нужен как минимум SFTP, но единственный доступный канал для меня - это простой ванильный FTP).

Мне нужна только односторонняя синхронизация: с моей машины на сервер. Я слышал о программе под названием unison, но, похоже, она предназначена для двусторонней синхронизации, и я не уверен, что ее можно настроить так, как я хочу. Я также должен добавить, что программа должна работать не в интерактивном режиме, чтобы ее можно было использовать внутри скрипта.

Последний вариант - написать собственный скрипт, который сравнивает файлы по времени модификации (или что-то в этом роде) и копирует те, которые были изменены. Мне уже удалось смонтировать каталог FTP в локальный каталог, поэтому проблема сводится к простой синхронизации двух каталогов. Но мое внутреннее чувство говорит мне, что должно быть что-то подобное, уже существующее в дикой природе.

3 ответа3

12

Поскольку я не мог заставить работать wput , я искал альтернативу и нашел: ncftp.

В частности, ncftpput, похоже, делал почти то, для чего был разработан wput. Самое главное для меня, это не сбой, как wput. И действительно, ему удается загрузить только те файлы, которые не изменились, с помощью опции -z :

ncftpput -z -u user -p pass ftp.mydomain.com dir/name files-to-upload...
4

Здесь также уместно использовать lftp : https://stackoverflow.com/a/693280/480534

Резюме:

lftp <username>@<server>
  mirror -c <source> <dest>
  exit
3

Конечно, и это называется wput

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