Por si a alguien le sirve, con las modificaciones que Ferdy me comento, el script quedaria algo asi:
Código:
#!/usr/bin/php -q
<?php
$segundos = "5";
$archivo = "/var/www/html/ubar/ubar.txt";
$guarda_media = "/var/www/html/ubar/media";
$guarda_regs = "/var/www/html/ubar/regs";
$reg_exp = "Current bandwidth utilization (.*) kbit/s";
$regs = array();
$media = "";
while (1)
{
$cnt = fread(fopen($archivo,"r"),filesize($archivo));
ereg($reg_exp,$cnt,$vals);
$regs[] = $vals[1];
media();
guarda();
sleep($segundos);
}
exit;
function media()
{
global $regs,$media;
$sum = 0;
for ( $i = 0 ; $i < count($regs) ; $i++ )
{
$sum += $regs[$i];
}
$media = number_format( ($sum / count($regs)), 7) ;
}
function guarda()
{
global $media,$regs,$guarda_media,$guarda_regs;
$f = fopen($guarda_media,"w");
fputs($f,$media);
fclose($f);
$fp = fopen($guarda_regs,"w");
fputs($fp,serialize($regs));
fclose($fp);
}
?>
Para hacer una media durante un corto periodo de tipo ( 5 - 8 mins ) puede servir, pero hay que tener en cuenta que el archivo donde registra cada valor crece de forma impresionantemente rapida y que ademas cuando este archivo es muy grande, los recursos que toma el script son mayores.
Pero a mi me es util, gracias Ferdy.
Un saludo,
<hr width=80%>
lical -> Usuario registrado de Linux #254225<br><br>
¿Piensas que el software puede ser algo más?
[B]<a href="http://www.zonasiete.org/" target="_blank">www.zonasiete.org</a>
Acercando el proyecto GNU/Linux a todos.</b