De curand am avut nevoie de un utilitar care sa poata extrage informatii din fisiere log ale proftpd.

Practic aceasta aplicatie extrage liniile care contin textul transmis variabilei -s.

Exemplu de utilizare:

php extract.php -f ftp_in.log -s PUT-o ftp_out.log
<?php   $options = getopt("f:s:o:");  if (isset($options['f']) && isset($options['o']) && $options['s'] && strlen($options['s'])>0 ){
    if (!file_exists($options['f'])){
		die("Eroare: Nu am gasit fisierul pentru citire!");
	}
    $read = fopen($options['f'],"r");
    $write = fopen($options['o'],'a');

    if ($read && $write){
        while (($line = fgets($read)) !== false) {
            // process the line read.
            if (isset($options['s']) ){
				//detect string in line
                if( stristr($line, $options['s']) ) {
                    fputs($write, $line);
                }
            }else{
                fputs($write, $line);
            }
        }
		 fclose($read);
		fclose($write);
    }else{
		die("Fisierele nu pot fi create.");
	}
}

Codul este disponibil pe Github