Linode information script
Here is the script I use to get information about my linode from my linode VPS:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | #!/usr/bin/php <?php # Edit this with your linode number $LINODE="linodeXXXXX"; function human ( $num ) { if ($num<1024) { $str = strval($num)." K"; } elseif ($num<(1024*1024)) { $str = strval(intval(floor($num/1024)))." M"; } else { $str = strval(intval(floor($num/(1024*1024))))." G"; } return $str; } function kb ( $bytes ) { $bytes /=1024; return $bytes; } $xml = simplexml_load_file("http://www.linode.com/members/info/?user=$LINODE"); $bwdata = $xml->bwdata; $year = $bwdata->year; $month = $bwdata->month; $host = $xml->host->host; // $bw_max = round ( GB( floatval( $xml->bwdata->max_avail ) ), 2 ) ; $dl = round(kb(floatval($bwdata->rx_bytes)),2); $ul = round(kb(floatval($bwdata->tx_bytes)),2); $total = round(kb(floatval($bwdata->total_bytes)),2); $limit = round(kb(floatval($bwdata->max_avail)),2); $precentage = round($total/$limit*100,0)."%"; echo ("Host: ".$xml->host->host); echo("\n"); echo("Month: $month/$year\n"); echo("\n"); echo ("Current load: ".$xml->host->hostLoad); echo("\n"); echo ("CPU usage: ".$xml->cpuConsumption ."%\n"); echo ("Pending jobs: ".$xml->host->pendingJobs); echo("\n"); echo("\n"); echo("Uploaded: ".human($ul)."\n"); echo("Downloaded: ".human($dl)."\n"); echo("Total use: ".human($total)." from ".human($limit)." allowed ($precentage)\n"); echo("\n"); ?> |
It is largely based on the PHP script you can find on Linode wiki but displays all available information and doesn’t use a temporary file saved locally.
Sample output:
$ ./lininfo Host: newark11.linode.com Month: 7/2009 Current load: idle CPU usage: 2.2245% Pending jobs: 0 Uploaded: 468 M Downloaded: 116 M Total use: 585 M from 200 G allowed (0%)