2014-09-19 80 views
0

我正在尋找一種方法來檢查哪些文件存在於我想通過ssh或類似方式訪問的遠程目錄中,並將文件名寫入數組中。使用grunt檢查遠程目錄中存在哪些文件

到目前爲止,我沒有運氣。 unix rsync有一個-n標誌可以打印出現在目標位置的每個文件,但我不知道如何在grunt中使用rsync-output。

回答

1

下面是你可以通過SFTP與ssh2做到這一點:

var SSH2 = require('ssh2'); 

var conn = new SSH2(); 
conn.on('ready', function() { 
    conn.sftp(function(err, sftp) { 
    if (err) throw err; 
    sftp.readdir('/tmp', function(err, list) { 
     if (err) throw err; 
     console.dir(list); 
     conn.end(); 
    }); 
    }); 
}).connect({ 
    host: '192.168.100.100', 
    port: 22, 
    username: 'frylock', 
    // password: 'foobarbaz', 
    privateKey: require('fs').readFileSync('/here/is/my/key') 
});