Передача 100 ГБ через веб-интерфейс заставляет меня съеживаться. Было бы гораздо лучше написать / использовать отдельное приложение для передачи.
Если вы уже используете Ruby, вы можете написать приложение на основе Ruby, которое загружается по FTP. Например:
require 'net/ftp'
Net::FTP.open('uploads.yoursite.com','username','password') {|ftp|
ftp.login('username','password')
ftp.put 'filename'
if (ftp.last_response != "266 Transfer complete.\n")
puts "Error with FTP upload\nResponse was: #{ftp.last_response}"
end
}
Я использую этот код для загрузки автоматически сгенерированных файлов данных на другой сервер, который их архивирует. Существует несколько различных библиотек для создания простых пользовательских интерфейсов в Ruby, и все, что вам нужно, это простое окно, где пользователь может ввести свое имя пользователя и пароль, выбрать файл для загрузки и нажать кнопку «Перейти».
Библиотеки Ruby SSH позволяют осуществлять безопасную передачу файлов по SFTP (подсказка: require 'net/sftp'
). Я не использовал его сам, но документы делают его таким же простым, как FTP. IIRC, SFTP имеет встроенную поддержку для возобновления прерванных передач.
Вы также можете использовать утилиту, такую как WinSCP , которая является инструментом с открытым исходным кодом, который может загружать файлы с использованием FTP, SFTP или SCP. Для систем, отличных от Windows, есть Cyberduck для OS X и Kasablanka или gFTP для Linux.