Синхронізація файлів через 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.
kenorb

1
Щоб скопіювати цілі дерева каталогів, використовуйте -R.
kenorb

+1 для використання поза-етикетки -z, щоб означати "noclobber" / "не перезаписувати"
barrycarter

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


3

Звичайно, і це називається wput


Звичайно! Як я не думав про це. Повністю забув цю програму. Я думаю, що це спрацює, але я
доповім,

На деяку думку, wput дає мені "помилку сегментації", коли я намагаюся щось завантажити.
Рене Саарсоо
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.