2014-09-19 64 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') 
});