Gå til innhold

system info til database


Anbefalte innlegg

Jeg lurer på en ting.

 

Jeg har 2 linux servere kjørenes hjemme (begge kjører web server apache). I tillegg så har jeg en nettside, som jeg gjerne skulle hatt presantert noen tall på.

 

Er det noen enkel måte å få tak i uptime og load på de 2 serverene og legge ut på den siden? Jeg har middels kunnskap med linux og html / php.

 

Det jeg tenkte var å lage en webside på hver enkelt server som hentet informasjonen og dumpa den i en database, så henta den websiden jeg vil ha tallene på ut dataene fra databasen. Men da kom jeg på jeg må jo ha noe å trigge de websidene som kjører på serverene, det blir litt mer stress en jeg tenkte...

 

Har dere tips til hvordan jeg kan få en cron jobb til å hente ut info om oppetid og load og legge ut i en database?

 

På forhånd takk!

Lenke til kommentar
Videoannonse
Annonse
system() + uptime :)

8964851[/snapback]

 

Ja, men vet du hvordan jeg kan bygge en cron job som henter ut den informasjonen og dumper i en mysql database? :)

 

EDIT: Jeg har fått til å dumpe dataene ut til web. Men jeg vil ha adskilte tall. Sånn at jeg kan få uptime for seg selv, load for seg selv osv. Hvordan splitter jeg det?

Endret av Missy TommeN
Lenke til kommentar

Hei

 

Jeg foretrekker å bruke regular expressions. Med regular expressions kan du gjøre ganske spesifikke søk og erstattning i strenger. Det brukes veldig ofte, og kan derfor lønne seg å lære seg det. Regexp

 

Her er et lite eksempel:


$uptime = "3:23PM  up 1337 days, 15:55, 2 users, load averages: 0.11, 0.12, 0.10"; 

$search_pattern = '/.*up\s(\d+)\sdays,\s(\d+):(\d+),\s(\d+)\susers,\sload\saverages:\s(\d+\.\d+),\s(\d+\.\d+),\s(\d+\.\d+)$/i';

if(preg_match($search_pattern, $uptime, $matches)) {
  // print_r($matches);
  $uptime = $matches[1]." dager, ".$matches[2]." timer og ".$matches[3]." minutter.";
  $users = $matches[4]." brukere pålogget.";
  $load_average_1 = $matches[5];
  $load_average_5 = $matches[6];
  $load_average_15 = $matches[7];
  
}

echo "Oppetid: ".$uptime."\n";
echo "Brukere: ".$users."\n";
echo "Last: ".$load_average_1.", ".$load_average_5.", ".$load_average_15."\n";

Jeg hadde ikke mulighet for å hente et realistisk uptime fra serverne mine, så jeg tok en string fra wikipedia istedet.

 

Håper du får det til.

 

Og her er litt om cronjobs. Link

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...