2017-02-08 6 views
0

Я пытался загрузить несколько файлов с помощью пакета ssh2 в узле. В настоящее время я используюНевозможно загрузить все файлы из каталога с помощью узла ssh2

sftp.fastGet(remote_PATH, local_PATH, {}, function(downloadError){ 
    if(downloadError) throw downloadError; 
     console.log("Succesfully downloaded"); 
    }); 

Но не удалось загрузить все файлы, находящиеся в каталоге. Возможно ли использование этого модуля? Если да, то как?

ответ

0

Если у вас есть полный доступ к ssh, одно простое решение - просто передать tar-архив. Например:

var spawn = require('child_process').spawn; 

// ... 

ssh.exec('tar czf - /path/to/transfer', function(err, stream) { 
    if (err) throw err; 
    var localproc = spawn('tar', ['-C', '/path/to/extract/to', 'xf', '-']); 
    stream.pipe(localproc); 
    stream.on('close', function(code, signal) { 
    console.log('Tar finished with code %j, signal %j', code, signal); 
    // Close connection or do whatever else ... 
    }); 
    // Ignore stderr 
    stream.stderr.resume(); 
});