Programming Tutorials

(追記) (追記ここまで)

Use WinSCP to transfer log files remotely using Javascript

By: Eskalin in Javascript Tutorials on 2012年10月24日 [フレーム]

Normally winscp program is used to connect to a remote machine and transfer files. Recently I wanted to connect to my linux machine from a windows machine to download a file automatically everyday. The linux machine was generating daily log files and the name of the log file keeps changing as the current date. So i wrote this script to connect to that machine remotely and download the file every day by running the script in a scheduler.

Save the below as test.js

Change the path to the winscp.com file based on where you installed your winscp program,

Then run the file as

cscript /nologo test.js

//Scripts starts from here.

// Local path to download to (keep trailing slash) 
 var LOCALPATH = "d:\\NASShare\\C5\\billlog\\"; 
 // Remote path to download from (keep trailing slash) 
 var REMOTEPATH = "/var/log/sipproxyd/billing/"; 
 // Session to connect to 
 var SESSION = "root:[email protected]"; 
 // Path to winscp.com 
 var WINSCP = "c:\\program files\\winscp\\winscp.com"; 
 // helper function to pad zeroes to the left of number 
 function pad(n, len) 
 { 
 var s = n.toString(); 
 while (s.length < len) 
 { 
 s = '0' + s; 
 } 
 return s; 
 } 
 var date = new Date(); 
 // format timestamp 
 var stamp = 
 pad(date.getFullYear(), 4) + '-' + 
 pad(date.getMonth(), 2) + '-' + 
 pad(date.getDate(), 2); 
 
 // File to download 
 var FILE = "billing.log." + stamp; 
 var shell = WScript.CreateObject("WScript.Shell"); 
 //WScript.echo(FILE); 
 run winscp to download the file into timestamped-filename 
 exec = shell.Exec("\"" + WINSCP + "\""); 
 exec.StdIn.Write( 
 "option batch abort\n" + 
 "open \"" + SESSION + "\"\n" + 
 "get \"" + REMOTEPATH + FILE + "\" \"" + LOCALPATH + "\"\n" + 
 "exit\n"); 
 // wait until the script finishes 
 while (exec.Status == 0) 
 { 
 WScript.Sleep(100); 
 WScript.Echo(exec.StdOut.ReadAll()); 
 } 



(追記) (追記ここまで)


Add Comment

JavaScript must be enabled for certain features to work
* Required information
1000

Comments

No comments yet. Be the first!
(追記) (追記ここまで)
(追記) (追記ここまで)

AltStyle によって変換されたページ (->オリジナル) /