#!/usr/bin/perl require 5.002 ; use Socket; $SIG{'INT'} = 'die_gracefully'; $SIG{'QUIT'} = 'die_gracefully'; $SIG{'TERM'} = 'die_gracefully'; $UID = (getpwuid($<))[2]; $PIDFILE = "/tmp/lees.$UID"; $HOST="192.168.1.25"; $PORT=1966; sub justme { if (open PIDFILE) { chop($pid = ); local($stat) = kill(0,$pid); if ($stat == 1) { die "$0 already running (pid $pid)\n"; } close PIDFILE; } open (PIDFILE, ">$PIDFILE") || die "can't write $PIDFILE: $!"; print PIDFILE "$$\n"; close PIDFILE || die "can't close $PIDFILE: $!"; } sub die_gracefully { local($msg) = $_[0]; print STDERR "An error occurred: $msg\n"; print STDERR "Resetting.\n"; unlink "$PIDFILE"; print S "rset\n"; print S "quit\n"; exit(1); } sub openserver { $in_addr = (gethostbyname($HOST))[4]; $addr = sockaddr_in( $PORT, $in_addr); $proto = getprotobyname('tcp'); socket(S,AF_INET,SOCK_STREAM,$proto) || &die_gracefully("Can't open socket: $!"); connect(S,$addr) || &die_gracefully("Can't connect to socket: $!"); $_=select(S); $|=1; select($_); } #even kijken of het script al niet draait &justme; #connectie maken &openserver; #teruggestuurde gegevens verwerken $temp=; $_=$temp; @lijst=(m/(,(\s|:|\d|\.)+)/g); $_= @lijst[2]; /((\s|\d|\.)+)/; # MRTG middelt uit over 5 minuten $t=$1*300; # Uitvoer in een formaat voor MRTG zetten print "$t\n"; print "0\n"; print "0\n"; print "TempLog\n";