2017-02-08 109 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(); 
}); 
相關問題