Difference between revisions of "Script to Run PSQL"

From Observer GigaFlow Support | VIAVI Solutions Inc.
Jump to: navigation, search
(Created page with "var devices=["172.16.1.104","172.16.1.100","176.16.1.101","172.16.1.97"] var hours=3; var ProcessBuilder = Java.type('java.lang.ProcessBuilder'); var BufferedReader = Java.t...")
 
 
Line 1: Line 1:
var devices=["172.16.1.104","172.16.1.100","176.16.1.101","172.16.1.97"]
+
var devices=["172.16.1.104","172.16.1.100","176.16.1.101","172.16.1.97"]
var hours=3;
+
var hours=3;
 
+
var ProcessBuilder = Java.type('java.lang.ProcessBuilder');
 
+
var BufferedReader = Java.type('java.io.BufferedReader');
var ProcessBuilder = Java.type('java.lang.ProcessBuilder');
+
var InputStreamReader= Java.type('java.io.InputStreamReader');
var BufferedReader = Java.type('java.io.BufferedReader');
+
var ProcessBuilder= Java.type('java.lang.ProcessBuilder');
var InputStreamReader= Java.type('java.io.InputStreamReader');
+
var utils = Java.type('ros.CROSUtils');
var ProcessBuilder= Java.type('java.lang.ProcessBuilder');
+
var timestamp  = new Date().getTime()
var utils = Java.type('ros.CROSUtils');
+
var thishour=timestamp
var timestamp  = new Date().getTime()
+
thishour=thishour-(thishour%(3600000))-((hours*3600000)-3600000); //Untested
var thishour=timestamp
+
timestamp=timestamp-(timestamp%(hours*3600000)-3600000); //Untested
thishour=thishour-(thishour%(3600000))-((hours*3600000)-3600000); //Untested
+
if (thishour===timestamp){ //check to only run once every 3 hours untested!!
timestamp=timestamp-(timestamp%(hours*3600000)-3600000); //Untested
+
for (var i in devices){
 
+
if (thishour===timestamp){ //check to only run once every 3 hours untested!!
+
for (var i in devices){
+
 
log.warn(timestamp +" "+devices[i])
 
log.warn(timestamp +" "+devices[i])
 
log.warn("select * from netflow where device = "+utils.inet_atob(devices[i])+" and firstseen>="+ (timestamp-(hours*3600000*2)) +" and firstseen< "+ (timestamp-(hours*3600000)) )
 
log.warn("select * from netflow where device = "+utils.inet_atob(devices[i])+" and firstseen>="+ (timestamp-(hours*3600000*2)) +" and firstseen< "+ (timestamp-(hours*3600000)) )
Line 21: Line 18:
 
runCommand("c:/temp/flows_"+devices[i]+"_"+(timestamp-(hours*3600000*2))+".csv","select * from netflow where device = "+utils.inet_atob(devices[i])+" and firstseen>="+ (timestamp-(hours*3600000*2)) +" and firstseen< "+ (timestamp-(hours*3600000)) )
 
runCommand("c:/temp/flows_"+devices[i]+"_"+(timestamp-(hours*3600000*2))+".csv","select * from netflow where device = "+utils.inet_atob(devices[i])+" and firstseen>="+ (timestamp-(hours*3600000*2)) +" and firstseen< "+ (timestamp-(hours*3600000)) )
 
}
 
}
}else{
+
}else{
log.warn("Wrong hour thishour:"+thishour+" timestamp:"+timestamp);
+
log.warn("Wrong hour thishour:"+thishour+" timestamp:"+timestamp);
}
+
}
 
+
function runCommand(filename,sqlcommand){
 
+
function runCommand(filename,sqlcommand){
+
 
  try {
 
  try {
 
   // Use a ProcessBuilder
 
   // Use a ProcessBuilder
Line 55: Line 50:
 
   log.warn(e.printStackTrace());
 
   log.warn(e.printStackTrace());
 
  }
 
  }
log.warn("end")
+
log.warn("end")
}
+
}

Latest revision as of 13:03, 9 October 2023

var devices=["172.16.1.104","172.16.1.100","176.16.1.101","172.16.1.97"]
var hours=3;
var ProcessBuilder = Java.type('java.lang.ProcessBuilder');
var BufferedReader = Java.type('java.io.BufferedReader');
var InputStreamReader= Java.type('java.io.InputStreamReader');
var ProcessBuilder= Java.type('java.lang.ProcessBuilder');
var utils = Java.type('ros.CROSUtils');
var timestamp  = new Date().getTime()
var thishour=timestamp
thishour=thishour-(thishour%(3600000))-((hours*3600000)-3600000); //Untested
timestamp=timestamp-(timestamp%(hours*3600000)-3600000); //Untested
if (thishour===timestamp){ //check to only run once every 3 hours untested!!
for (var i in devices){

log.warn(timestamp +" "+devices[i]) log.warn("select * from netflow where device = "+utils.inet_atob(devices[i])+" and firstseen>="+ (timestamp-(hours*3600000*2)) +" and firstseen< "+ (timestamp-(hours*3600000)) )

//set PGPASSWORD=myipfix&& psql -A -F , -o c:\temp\flows_device_2.csv -U myipfix -h 127.0.0.1 -d sentry1 -c "select * from netflow where firstseen>gettimeimmutable('1 hour') limit 10;" runCommand("c:/temp/flows_"+devices[i]+"_"+(timestamp-(hours*3600000*2))+".csv","select * from netflow where device = "+utils.inet_atob(devices[i])+" and firstseen>="+ (timestamp-(hours*3600000*2)) +" and firstseen< "+ (timestamp-(hours*3600000)) ) }

}else{
log.warn("Wrong hour thishour:"+thishour+" timestamp:"+timestamp);
}
function runCommand(filename,sqlcommand){
try {
  // Use a ProcessBuilder
  //var pb = new ProcessBuilder("c:/Gigaflow/Flow/resources/psql/psql.exe","-A","-F ,","-o "+filename,"-U myipfix","-h 127.0.0.1","-d sentry1","-c \""+sqlcommand+"\"");
  var pb = new ProcessBuilder("c:/Gigaflow/Flow/resources/psql/psql.exe","-U","myipfix","-o",filename,"-h","127.0.0.1","-d","sentry1","-c",sqlcommand);
  //var pb = new ProcessBuilder("c:/Gigaflow/Flow/resources/psql/psql.exe");
  var env = pb.environment();
  env.put("PGPASSWORD", "myipfix");
  log.warn("runCommand:"+filename+" "+sqlcommand)
     log.warn("mid1")
  var p = pb.start();
        log.warn("mid2")
  var is = p.getInputStream();
  log.warn("mid3")
  var br = new BufferedReader(new InputStreamReader(is));
  var line = null;
  log.warn("mid4")
  while ((line = br.readLine()) != null) {
    log.warn(line)
  }
     log.warn("mid5")

log.warn(pb.toString())

  var r = p.waitFor(); // Let the process finish.
  if (r == 0) { // No error
     // run cmd2.
  }
} catch ( e) {
  log.warn(e.printStackTrace());
}
log.warn("end")
}