Синхронизация файлов по FTP


11

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

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

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

Ответы:


14

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

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

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

отлично сработало для меня
Роман М

На OSX, установить с помощью: brew install ncftp.
Кенорб

1
Чтобы скопировать целые деревья каталогов, используйте -R.
Кенорб

+1 для использования не по прямому назначению -z для обозначения «noclobber» / «не перезаписывать»
barrycarter

Я хотел бы найти это 2 дня назад. Я отказался от ncftpget, так как на странице руководства не отображалось никаких «только более новых» «пропущенных» опций. Я бьюсь головой о lftp - от BASH до Python. Затем я дал еще одну попытку ncftp на Google и нашел ваше решение. Я посмотрел его для ncftpget (man-страница) - "-z / -Z Do (no) пытается возобновить передачу. По умолчанию попытка возобновить". Не звучит убедительно. Но, черт возьми, я искал именно эту опцию: загружать только новые файлы с помощью ncftpget. Я надеюсь, что этот комментарий поможет кому-то.
Ануп Наир


3

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


Конечно! Как я не подумал об этом. Полностью забыл эту программу. Я думаю, что это сработает, но я вернусь, когда вернусь домой, чтобы попробовать ...
Рене Саарсоо

По некоторым причинам wput выдает «Ошибка сегментации», когда я пытаюсь загрузить что-либо.
Рене Саарсоо
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.