2017-02-08 67 views
0

我试图在节点中使用ssh2软件包下载少量文件。我目前正在使用无法使用节点ssh2从目录下载所有文件

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

但是无法下载目录中的所有文件。可以使用这个模块吗?如果是,如何?

回答

0

如果你有完整的ssh访问权限,一个简单的解决方案就是流式存档。例如:

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(); 
}); 
相关问题