need to read data from a log… tail, grep and inotifywait

PsHacker

New Member
I have data on one server that comes into a continuously growing log file. I need to tail that log and grep some information and then send that to another server for php to insert into a database. The computer that has the log can't be allowed access to the database. I tried this so far but my syntax on the bash command is wrong and I can't figure out if this is the way to do it or if there would be a better way? Netcat was another thought...monitor.sh\[code\]#!/bin/shtail -f /usr/local/log/thelog.log | grep -B1 "ABC=" > /usr/local/log/output.log; while inotifywait -e modify /usr/local/log/output.log; dosleep 10; php /usr/bin/send.php; done\[/code\]send.php\[code\]<?php//extract data from the post//extract($_POST);//set POST variables$data = 'http://stackoverflow.com/questions/3784037/tail -n 3 /usr/local/log/output.log';$url = 'http://www.blahblah.com/logtodb.php';$data = http://stackoverflow.com/questions/3784037/str_replace("A", "", $data);$data = http://stackoverflow.com/questions/3784037/str_replace("B=", "", $data);$data = http://stackoverflow.com/questions/3784037/str_replace("C=", "", $data);$data = http://stackoverflow.com/questions/3784037/str_replace("D=", "", $data);$fields = array('data'=>urlencode($data)d,);//url-ify the data for the POSTforeach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; }rtrim($fields_string,'&');//open connection$ch = curl_init();//set the url, number of POST vars, POST datacurl_setopt($ch,CURLOPT_URL,$url);curl_setopt($ch,CURLOPT_POST,count($fields));curl_setopt($ch,CURLOPT_POSTFIELDS,$fields_string); //execute post $result = curl_exec($ch); //close connection curl_close($ch); A>\[/code\]logtodb.php reads the post
 
Back
Top