2017-08-08 11 views
0

私は、rsync.js関数の入力設定ファイルを使用するにはどうすればいいですか?

rsync.js

var onClick = function(){ 
     exec('rsync -avz -e "ssh -o StrictHostKeyChecking=no -o\ UserKnownHostsFile = /dev/null" --progress' + src_dir + to_dir,\ 
function(error,stdout,stderr){ 
console.log('stdout:',stdout)} )  
} 

私はsystem.Soに存在する3つの別のディレクトリのための上記のコードを実行したいとしましょうでの機能を持っていますonClickに入力を与えるためにsrc_dirto_dirだけを変更する必要があります。

これを行うために、私は私がrsync.jsにし、機能にsrc_dirto_dirとしてのみの入力を与えることを必要とし、それができるように、JSON形式で入力設定ファイルを作りたいです3人のために働く。

質問1config.jsに配列リストを反復するにはどうすればよいですか?

質問2:関数への入力を与える方法onClick? 例:var onClick = function(src_dir= "", to_dir= ""){}

Try1: ソースと宛先の配列のリストを作成しました。 今、私はそれを繰り返したいが、それをすることができない。

config.jsの

module.exports = { 

    src: [ 
     { src_dir: '/path/to/source/dir/', to_dir : '/path/to/remote/dir'}, 
      //rest array elements. 
     ] 
    } 
+0

あなたは最初のSRCのリストを読み、DIRに、配列でそれを持つことができます。その後、forループを使用して反復することで、リストの結果を実行し、期待通りの結果を得ることができます。 –

+0

はい、これはわかっていますが、実装できません。 – Aditya

+0

@ArunkumarG配列のリストを作成しました。 – Aditya

答えて

1
var onClick = function(src_dir, to_dir){ // expect 2 paramteres for the onClick function (src,to) 
    exec('rsync -avz -e "ssh -o StrictHostKeyChecking=no -o\ UserKnownHostsFile = /dev/null" --progress' + src_dir + to_dir, function(error,stdout,stderr){ 
     console.log('stdout:',stdout) 
    })  
} 

// Load config 
var config = require('config.js'); 

// Iterate through all elements in config.src 
for(var i=0;i<config.src.length;i++){ 
    onClick(config.src[i].src_dir,config.src[i].to_dir) 
} 
+0

は、onClickが関数ではないことを表示します。 – Aditya

関連する問題