Grazie a voi che mi avete messo la pulce nell'orecchio ho provato a fare uno script perl che fa quello che desideravo ed in più anzichè loggare su un txt logga direttamente su db mysql. Metto a disposizione il sorgente (è una cavolata lo so ma a qualcuneo potrebbe servire). Ciao a tutti!!!
Codice PHP:
#!/usr/bin/perl
use DBI;
use Shell;
# COSTANTI
#=========================
$database = "lnx_logs";
$hostname = "xxx";
$user = "xxx";
$password = "xxx";
$tempo = 10;
# Creo la connessione
#=========================
$dsn = "DBI:mysql:database=$database;host=$hostname;port=3306";
my $dbh = DBI->connect($dsn, $user, $password);
# Cerco il MaxID
#=========================
my $rs = $dbh->prepare("SELECT MAX(up_id) AS ID FROM uptime");
$rs->execute();
$maxId = 0;
while(my $ref = $rs->fetchrow_hashref())
{
$maxId = $ref->{'ID'};
}
$rs->finish;
sub scrividb {
$maxId++;
$opt = uptime();
$sqlString = "INSERT INTO uptime (up_id, up_riga) VALUES ($maxId,'$opt')";
$res = $dbh->do($sqlString);
}
# Lancia la procedura per scrivere
$SIG{ALRM} = \&scrividb;
while(1==1)
{
alarm($tempo); # setta alarm
#print ".";
sleep; # aspetta alarm
}
$dbh->disconnect;