Мне часто приходится передавать 4000 небольших файлов на удаленный сервер (около 20 МБ данных), к которому у меня есть только FTP-доступ. Эта операция занимает 30 минут, но если бы я отправил один файл размером 20 МБ, это заняло бы около 2 секунд. Я ищу альтернативу, которая быстрее, например, которая упаковывает 4000 файлов в один файл, отправляет файл zip и распаковывает его на удаленном компьютере. Есть ли серверы передачи файлов, которые делают это?

Обратите внимание, что у меня есть доступ к установке альтернативного сервера на удаленной машине, поэтому я не ограничен FTP-сервером.

Большое спасибо заранее Jeeji

5 ответов5

2

Вы говорите, что имеете только FTP-доступ, но затем говорите, что можете установить альтернативный сервер. Вы можете установить и использовать rsync?

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

1

Вы должны взглянуть на weex или использовать rsync поверх точки монтирования, созданной с помощью CurlFtpFS.

1

Заархивируйте их и отправьте на сервер, а затем используйте запланированное задание на принимающей стороне, чтобы найти почтовые индексы и разархивировать их локально. С помощью наблюдателя файловой системы вы можете определить, когда создается zip-архив, дождаться окончания загрузки (т. Е. Больше не изменять) и распаковать его.

0

Спасибо за ваши предложения. Я подумал о том, чтобы решить проблему сам, поскольку вы предлагаете использовать монитор файловой системы, который срабатывает при копировании zip-файла. Тем не менее, это требует некоторого программирования, так как мне нужно, чтобы он работал как служба (чтобы он запускался без входа пользователя в систему), и мне нужно, чтобы он возвращал некоторый статус результата. Все это можно запрограммировать, но было бы намного проще, если бы существовало готовое решение.

Я буду смотреть на rsync. Это звучит именно так, как приложение, которое я ищу.

-1

Простой сценарий оболочки на стороне сервера позаботится об этом за вас. Выберите папку, в которую каждый входящий zip-файл распаковывается. Напишите скрипт для поиска zip-файлов и разархивируйте их.

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