Каков наилучший способ (с помощью phpseclib), чтобы загрузить частичный файл. У меня есть файл журнала, в который постоянно добавляются данные. Я хотел бы периодически подключаться к удаленному серверу и загружать последнюю порцию без загрузки всего файла каждый раз. Rsync был бы идеален, но он не установлен на каждом сервере. В настоящее время я могу сделать это с помощью ряда команд, в которых я запишу номер последней строки, чем использую tail (с номером последней строки) и передам его в файл tmp. SCP файл tmp на мою локальную машину, а затем удалить файл tmp.
Однако этот метод слишком сложен и навязчив (требует создания / удаления файла на удаленном компьютере). Кроме того, я не могу установить что-либо на удаленной машине, и они могут отличаться (BSD, Linux, Solaris и т. Д.).
Определение функции для Net_SFTP :: get выглядит следующим образом:
function get($remote_file, $local_file = false, $offset = 0, $length = -1)
Так что, возможно, вы могли бы сделать $sftp->get('/path/to/file.log', false, $last_recorded_size)
или что-то.
Других решений пока нет …