tak aj ja teda
#! /usr/bin/perl
use lib qw( /rrdtool/perl-shared/blib/lib /rrdtool/perl-shared/blib/arch );
use lib qw( /usr/local/rrdtool-1.0.33/lib/perl /rrdtool/lib/perl );
use RRDs;
use Mysql;
my $start=time;
# Cesty k DB a grafu
my $rrd= "/home/www/wow/rrd/status.rrd";
my $name = "/home/www/wow/rrd/online.png";
# Kontrola ci uz RRDDB existuje, ak nie vytvori sa.
if (not -f $rrd) {
RRDs::create ($rrd, "--start",$start-1, "--step",60,
"DS:horde:GAUGE:300:U:U",
"DS:alliance:GAUGE:600:U:U",
"RRA:AVERAGE:0.5:1:1440",
);
};
my $ERROR = RRDs::error;
die "$0: unable to create `$rrd': $ERROR\n" if $ERROR;
# Nastavenia pre MySQL
$host = "xxx";
$database = "mangos";
$user = "mangos";
$pw = "xxx";
# Vytvorenie spojenia
$connect = Mysql->connect($host, $database, $user, $pw);
# Zvolenie DB
$connect->selectdb($database);
# Definovanie dotazu
$myquery_h = "SELECT COUNT(*) FROM `character` WHERE online=1 AND race IN (2, 5, 6, 8, 10);";
$myquery_a = "SELECT COUNT(*) FROM `character` WHERE online=1 AND race IN (1, 3, 4, 7, 11);";
# Dotaz a ulozenie vysledku
$execute_h = $connect->query($myquery_h);
$execute_a = $connect->query($myquery_a);
$rownumber_h = $execute_h->fetchrow_array();
$rownumber_a = $execute_a->fetchrow_array();
$execute_h->finish();
$execute_a->finish();
# Datum
$datum=localtime(time);
# Vysledok pri spusteni (# -> silent mod)
print "Horda $rownumber_h \n";
print "Aliancia $rownumber_a \n";
print "$datum \n";
#Aktualizacia DB.
RRDs::update $rrd,"$start:$rownumber_h:$rownumber_a";
#Vygenerovanie obrazku s grafom.
RRDs::graph "$name",
"--title", "Online Hracov na GbelyNET WoW",
"--start", "now-10h",
"--end", "now",
"--lower-limit=0",
"--interlaced",
"--rigid",
"--alt-autoscale-max",
"--imgformat","PNG",
"--width=500",
"--height=125",
"--color=BACK#000000EE",
"--color=CANVAS#33333333",
"--color=FONT#ffffffcc",
"--font-render-mode=light",
"DEF:a=$rrd:horde:AVERAGE",
"DEF:b=$rrd:alliance:AVERAGE",
"AREA:a#cc0000dd:Horda = $rownumber_h \\l",
"STACK:b#0000ffdd:Aliancia = $rownumber_a \\l",
"COMMENT: Powered by Perl \\r",
;
if ($ERROR = RRDs::error) {
print "ERROR: $ERROR\n";
};