problem mit script oder ist es doch was anderes ?

Hier findest du jede Art von Hilfestellung zum Thema Installation, Konfiguration und Betrieb von Eggdrop-Bots
Antworten
BoEhSeR-OnKeL
IRC-Addict
Beiträge:74
Registriert:27. Mär 2005, 17:19
Wohnort:Oberhausen (NRW)
Kontaktdaten:
problem mit script oder ist es doch was anderes ?

Beitrag von BoEhSeR-OnKeL » 15. Aug 2008, 00:52

also ich habe mir auf folgenden seite ein sysinfo script geladen >> http://www.bluedevil.ca/eggdrop/

doch wen ich nun im channel !sysinfo eingebe kommt diese fehlermeldung hier: Perl script is not executable or doesn't exist.

das script ist aber ausführbar habs mit den rechten 777 versehn. ich weiss, so viel is nicht nötig, aber wollte eben auf nummer sicher gehn ;)

auf der shell selber klapt es ja ohne probs :/


Code: Alles auswählen

IRC@XXXXXXXX:~$ cd eggdrop/scripts
IRC@XXXXXXXX:~/eggdrop/scripts$ ./sysinfo281.06.pl
Argument "229,225" isn't numeric in numeric eq (==) at ./sysinfo281.06.pl line 566.
Argument "2,83251" isn't numeric in division (/) at ./sysinfo281.06.pl line 569.
Hostname: XXXXXXXX - OS: Linux 2.6.18-6-amd64/x86_64 - Distro: Debian 4.0 - CPU: 2 x Dual-Core AMD Opteron 1212 HE (1000.000 MHz) - Processes: 93 - Uptime: 4d 9h 52m - Users: 2 - Load Average: 0.00 - Memory Usage: 213.71MB/1996.45MB (10.70%) - Disk Usage: 2.00GB/229.00GB (0.87%)
jemand ne idee was da falsch laufen könnte?
Wer keine angst vorm Teufel hat, Braucht auch keinen Gott.

Hendrik
Chef
Beiträge:2076
Registriert:2. Sep 2003, 16:43
Wohnort:Berlin
Kontaktdaten:

Beitrag von Hendrik » 18. Sep 2008, 13:33

Hallo,

Eventuell meckert das Script, weil Warnungen ausgespuckt werden beim Ausführen. Zeig mal die erste Zeile vom Script, eventuell müssen wir das warning-Flag dort entfernen.

Grüße
-Hendrik-
Einmal lesen, für immer glücklich: Hinweise zum Forum
--
Programming is similar to sex. If you make a mistake, you have to support it for the rest of your life.

BoEhSeR-OnKeL
IRC-Addict
Beiträge:74
Registriert:27. Mär 2005, 17:19
Wohnort:Oberhausen (NRW)
Kontaktdaten:

Re: problem mit script oder ist es doch was anderes ?

Beitrag von BoEhSeR-OnKeL » 18. Sep 2008, 15:46

von der TCL die, die .pl ausfürht oder die .pl selber ?
Wer keine angst vorm Teufel hat, Braucht auch keinen Gott.

Hendrik
Chef
Beiträge:2076
Registriert:2. Sep 2003, 16:43
Wohnort:Berlin
Kontaktdaten:

Re: problem mit script oder ist es doch was anderes ?

Beitrag von Hendrik » 18. Sep 2008, 15:49

von der .pl datei selbst.
Einmal lesen, für immer glücklich: Hinweise zum Forum
--
Programming is similar to sex. If you make a mistake, you have to support it for the rest of your life.

BoEhSeR-OnKeL
IRC-Addict
Beiträge:74
Registriert:27. Mär 2005, 17:19
Wohnort:Oberhausen (NRW)
Kontaktdaten:

Re: problem mit script oder ist es doch was anderes ?

Beitrag von BoEhSeR-OnKeL » 18. Sep 2008, 16:05

hier hast du einfach ma die komplette.

Code: Alles auswählen

#!/usr/bin/perl -w
#
# Copyright (c) 2002, 2003 David Rudie
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 1. Redistributions of source code must retain the above copyright
#    notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
#    notice, this list of conditions and the following disclaimer in the
#    documentation and/or other materials provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
# SUCH DAMAGE.
#

# Modifications to this script from version 2.78 on are
# Copyright (C) 2003-2005 Travis Morgan
# 
# If you notice any bugs including spacing issues, wrong detection of hardware,
# obvious features missing, missing distro detection, etc, I want to hear
# about them. If you make it work on another OS send me your patches for
# that too! My email address is imbezol@criticaldamage.com
#
# The latest version can be obtained from 
# http://imbezol.criticaldamage.com/sysinfo/
#

use POSIX qw(floor);
use strict;


# Set up the arrays and variables first.
use vars qw(
  @arr
  @arr1
  @arr2
  $cpu
  @cpu
  @cpuinfo
  $data
  $distro
  $distrov
  @distros
  @data
  $df
  @dmesgboot
  @hinv
  @meminfo
  $mhz
  @mhz
  $model
  @netdev
  @netstat
  @nic
  @nicname
  $smp
  @smp
  $stream
  $sysctl
  @uptime
  $var
  $vara
  $varb
  $varc
  $vard
  $varh
  $varm
  $varp
  $varx
  $vary
  $varz
  $col1
  $col2
);


# Specify your NIC interface name (eth0, rl0, fxp0, etc) and a name for it.
#
# Example: @nic     = ('eth0', 'eth1');
#          @nicname = ('External', 'Internal');
#
# NOTE: If you set one then you HAVE to set the other.
@nic		= ('');
@nicname	= ('');

$col1 = '';
$col2 = '';

# These are the default settings for which information gets displayed.
# 0 = Off; 1 = On
my $showConsole		= 0;
my $showConsoleTopCPU	= 1;
my $showHostname	= 0;
my $showOS		= 1;
my $showCPU		= 1;
my $showProcesses	= 1;
my $showUptime		= 1;
my $showLoadAverage	= 1;
my $showBattery		= 0;  # Requires APM and /proc/apm
my $showMemoryUsage	= 1;
my $showDiskUsage	= 1;
my $showNetworkTraffic	= 1;
my $showUsers		= 0;
my $showDistro		= 1;

# Console output color.
# Black   = 30 # Red     = 31 # Green   = 32 # Yellow  = 33
# Blue    = 34 # Magenta = 35 # Cyan    = 36 # Grey    = 37
my $normBright	= '0';
my $normColour	= '32';

my $miscBright	= '1';
my $miscColour	= '30';

my $warnBright	= '1';
my $warnColour	= '33';

my $critBright	= '1';
my $critColour	= '31';


###############################################
### Nothing below here should need changed. ###
###############################################


my $clear = "[0m";
my $crit = "[0$critBright;$critColour"."m";
my $misc = "[0$miscBright;$miscColour"."m";
my $norm = "[0$normBright;$normColour"."m";
my $warn = "[0$warnBright;$warnColour"."m";


my $sysinfoVer	= '2.78.10';
my $sysinfoDate	= 'Jan 15, 2005';


my $os		= `uname -s`; chomp($os);
my $osn		= `uname -n`; chomp($osn); $osn =~ s/([^\.]*).*/$1/;
my $osv		= `uname -r`; chomp($osv);
my $osm		= `uname -m`; chomp($osm);
my $uname	= "$os $osv/$osm";


my $darwin	= 1 if $os =~ /^Darwin$/;
my $freebsd	= 1 if $os =~ /^FreeBSD$/;
my $linux	= 1 if $os =~ /^Linux$/;
my $netbsd	= 1 if $os =~ /^NetBSD$/;
my $openbsd	= 1 if $os =~ /^OpenBSD$/;
my $irix	= 1 if $os =~ /^IRIX$/;
my $irix64	= 1 if $os =~ /^IRIX64$/;


my $alpha	= 1 if $osm =~ /^alpha$/;
my $armv4l	= 1 if $osm =~ /^armv4l$/;
my $armv5l	= 1 if $osm =~ /^armv5l$/;
my $i586	= 1 if $osm =~ /^i586$/;
my $i686	= 1 if $osm =~ /^i686$/;
my $ia64	= 1 if $osm =~ /^ia64$/;
my $mips	= 1 if $osm =~ /^mips$/;
my $parisc64	= 1 if $osm =~ /^parisc64$/;
my $ppc		= 1 if $osm =~ /^ppc$/;
my $x86_64	= 1 if $osm =~ /^x86_64$/;


my $d700 = 1 if $osv =~ /^7\.0\.0/;
my $l26 = 1 if $osv =~ /^2\.6/;


my $showConsoleTrig = $ARGV[0];
if($showConsoleTrig) {
  if($showConsoleTrig eq '-c' || $showConsoleTrig eq '--console') {
    $showConsole = 1;
    $showConsoleTopCPU = 1;
  } elsif($showConsoleTrig eq '-v' || $showConsoleTrig eq '--version') {
    print "sysinfo v$sysinfoVer   $sysinfoDate\n";
    print "original version by David Rudie <david\@inexistent.com>\n";
	print "current version maintained by Travis Morgan <imbezol\@criticaldamage.com>\n";
    exit -1;
  }
}


if($linux) {
  @cpuinfo		= &openfile("/proc/cpuinfo");
  @meminfo		= &openfile("/proc/meminfo");
  @netdev		= &openfile("/proc/net/dev");
  @uptime		= &openfile("/proc/uptime");
} elsif($irix || $irix64) {
  @hinv			= `hinv`;
} else {
  @dmesgboot		= &openfile("/var/run/dmesg.boot");
  @netstat		= `netstat -ibn`;
  if($darwin) {
    $sysctl		= '/usr/sbin/sysctl';
  } else {
    $sysctl		= '/sbin/sysctl';
  }
}


if($armv4l || $armv5l) {
  $df			= 'df -k';
  $showConsoleTopCPU	= 0;
} else {
  if($linux) {
    $df			= 'df -kP';
  } else { 
    $df			= 'df -k';
  }
}

if($linux && $showDistro) {
	@distros = (
	"Gentoo",		"/etc/gentoo-release",
	"Fedora Core",	"/etc/fedora-release",
	"Slackware",	"/etc/slackware-version",
	"Cobalt",		"/etc/cobalt-release",
	"Debian",		"/etc/debian_version",
	"Mandrake",		"/etc/mandrake-release",
	"Mandrake",		"/etc/mandrakelinux-release",
	"Yellow Dog",	"/etc/yellowdog-release",
	"Red Hat",		"/etc/redhat-release"
	);
	$distro = "";
	$distrov = "";
	do {
		if (-e $distros[1]) {
			$distro = $distros[0];
			$distrov = `cat $distros[1]`;
			chomp($distrov);
			$distrov =~ s/[^0-9]*([0-9.]+)[^0-9.]{0,1}.*/$1/;
		}
		shift @distros;	shift @distros;
	} until (scalar @distros == 0) || (length $distro > 0);
}

if($showCPU) {
  if($freebsd) {
    if($alpha) {
      @cpu		= grep(/^COMPAQ/, @dmesgboot);
      $cpu		= join("\n", $cpu[0]);
    } else {
      @cpu		= grep(/CPU: /, @dmesgboot);
      $cpu		= join("\n", @cpu);
      $cpu		=~ s/Warning:.*disabled//;
      @cpu		= split(/CPU: /, $cpu);
      $cpu		= $cpu[1];
      chomp($cpu);
      @smp		= grep(/ cpu/, @dmesgboot);
      $smp		= scalar @smp;
    }
  }
  if($netbsd) {
    if($alpha) {
      @cpu		= grep(/^COMPAQ/, @dmesgboot);
      $cpu		= join("\n", $cpu[0]);
      @cpu		= split(/, /, $cpu);
      $cpu		= $cpu[0];
    } else {
      @cpu		= grep(/cpu0: /, @dmesgboot);
      @cpu		= grep(!/apic/, @cpu);
      $cpu		= join("\n", $cpu[0]);
      @cpu		= split(/: /, $cpu);
      $cpu		= $cpu[1];
      @smp		= grep(/cpu\d+:/, @dmesgboot);
      @smp		= grep(/MHz/, @smp);
      $smp		= scalar @smp;
    }
  }
  if($openbsd) {
    @cpu		= grep(/cpu0: /, @dmesgboot);
    @cpu		= grep(/[M|G]Hz/, @cpu);
    $cpu		= join("\n", @cpu);
    @cpu		= split(/: /, $cpu);
    $cpu		= $cpu[1];
  }
  if($irix || $irix64) {
    @cpu		= grep(/CPU:/, @hinv);
    $cpu		= join("\n", @cpu);
    $cpu		=~ s/^.*(R[0-9]*) .*$/$1/;
    @mhz		= grep(/MHZ/, @hinv);
    $mhz		= join("\n", @mhz);
    $mhz		= $mhz[0];
    $mhz		=~ s/^.* ([0-9]*) MHZ.*$/$1/;
    @smp		= grep(/ IP/, @hinv);
    $smp		= $smp[0];
	$smp		=~ s/^([0-9]*) .*$/$1/;
	chomp($smp);
    chomp($cpu);
    chomp($mhz);
    $cpu		= "MIPS $cpu ($mhz MHz)";
  }
  if($linux) {
    if($alpha) {
      $cpu		= &cpuinfo("cpu\\s+: ");
      $model	= &cpuinfo("cpu model\\s+: ");
      $cpu		= "$cpu $model";
      $smp		= &cpuinfo("cpus detected\\s+: ");
    }
    if($armv4l || $armv5l) {
      $cpu		= &cpuinfo("Processor\\s+: ");
    }
    if($i686 || $i586 || $x86_64) {
      $cpu		= &cpuinfo("model name\\s+: ");
      $cpu		=~ s/(.+) CPU family\t+\d+MHz/$1/g;
      $cpu		=~ s/(.+) CPU .+GHz/$1/g;
      $mhz		= &cpuinfo("cpu MHz\\s+: ");
      $cpu		= "$cpu ($mhz MHz)";
      @smp		= grep(/processor\s+: /, @cpuinfo);
      $smp		= scalar @smp;
    }
    if($ia64) {
      $cpu		= &cpuinfo("vendor\\s+: ");
      $model	= &cpuinfo("family\\s+: ");
      $mhz		= &cpuinfo("cpu MHz\\s+: ");
      $mhz		= sprintf("%.2f", $mhz);
      $cpu		= "$cpu $model ($mhz MHz)";
      @smp		= grep(/processor\s+: /, @cpuinfo);
      $smp		= scalar @smp;
    }
    if($mips) {
      $cpu		= &cpuinfo("cpu\\s+: ");
      $model	= &cpuinfo("cpu model\\s+: ");
      $cpu		= "$cpu $model";
    }
    if($parisc64) {
      $cpu		= &cpuinfo("cpu\\s+: ");
      $model	= &cpuinfo("model name\\s+: ");
      $mhz		= &cpuinfo("cpu MHz\\s+: ");
      $mhz		= sprintf("%.2f", $mhz);
      $cpu		= "$model $cpu ($mhz MHz)";
    }
    if($ppc) {
      $cpu		= &cpuinfo("cpu\\s+: ");
      $mhz		= &cpuinfo("clock\\s+: ");
      if($cpu =~ /^9.+/) {
        $model		= "IBM PowerPC G5";
      } elsif($cpu =~ /^74.+/) {
        $model		= "Motorola PowerPC G4";
      } else {
        $model		= "IBM PowerPC G3";
      }
      $cpu		= "$model $cpu ($mhz)";
    }
    $cpu		=~ s/^\s+//;
    $cpu		=~ s/ +/ /g;
  } elsif($darwin) {
    $cpu		= `hostinfo | grep 'Processor type' | cut -f2 -d':'`; chomp($cpu);
    $cpu		=~ s/^\s*(.+)\s*$/$1/g;
    if($cpu =~ /^ppc7.+/) {
      $cpu		= "Motorola PowerPC G4";
    }
    $mhz		= `$sysctl -n hw.cpufrequency`; chomp($mhz);
    $mhz		= sprintf("%.2f", $mhz / 1000000);
    $cpu		= "$cpu ($mhz MHz)";
    $smp		= `hostinfo | grep "physically available" | cut -f1 -d' '`; chomp($smp);
  }
  $cpu		=~ s/ +/ /g;
  $cpu		=~ s/^ //;
  if($smp && $smp gt 1) {
    $cpu = "$smp x $cpu";
  }
}


if(!$showConsole) {
  my $output;
  if($showHostname)		{ $output  = $col1."Hostname".$col2.": ".$col1.$osn.$col2." - "; }
  if($showOS)			{ $output .= $col1."OS".$col2.": ".$col1.$uname.$col2." - "; }
  if($linux && $showDistro && length $distro > 0 )	{ 
	  $output .= $col1."Distro".$col2.": ".$col1.$distro;
	  if (length $distrov > 0) {
		  $output .= " ".$distrov;
	  }
	  $output .= $col2." - ";
  }
  if($showCPU)			{ $output .= $col1."CPU".$col2.": ".$col1.$cpu.$col2." - "; }
  if($showProcesses)		{ $output .= $col1."Processes".$col2.": ".$col1.&processes.$col2." - "; }
  if($showUptime)		{ $output .= $col1."Uptime".$col2.": ".$col1.&uptime.$col2." - "; }
  if($showUsers)		{ $output .= $col1."Users".$col2.": ".$col1.&users.$col2." - "; }
  if($showLoadAverage)		{ $output .= $col1."Load Average".$col2.": ".$col1.&loadaverage.$col2." - "; }
  if($showBattery)		{ $output .= $col1."Battery".$col2.": ".$col1.&battery.$col2." - "; }
  if($showMemoryUsage)		{ $output .= $col1."Memory Usage".$col2.": ".$col1.&memoryusage.$col2." - "; }
  if($showDiskUsage)		{ $output .= $col1."Disk Usage".$col2.": ".$col1.&diskusage; }
  if($showNetworkTraffic)	{ $output .= "\n".&networktraffic; }
  $output =~ s/ - $//g;
  print "$output\n";
} elsif($showConsole) {
  if($showHostname) {
    print &consoleprint("System Information").$osn."\n";
  } else {
    print "System Information\n";
  }
  print "[01;30m-----------------------------------------------------------[0m\n";
  if($showOS) {
    print &consoleprint("Operating System").$uname."\n";
  }
  if($showCPU) {
    print &consoleprint("CPU").$cpu."\n";
  }
  if($linux && $showDistro && length $distro > 0) {
	  print &consoleprint("Distro").$distro." ".$distrov."\n";
  }
  if($showProcesses) {
    print &consoleprint("Processes").&processes."\n";
  }
  if($showUptime) {
    print &consoleprint("Uptime").&uptime."\n";
  }
  if($showLoadAverage) {
    print &consoleprint("Load Average").&loadaverageconsole."\n";
  }
  if($showUsers) {
    print &consoleprint("Users").&users."\n";
  }
  if($showBattery) {
    print &consoleprint("Battery").&batteryconsole."\n";
  }
  if($showConsoleTopCPU) {
    print &consoleprint("Top CPU Process").&topcpuprocess."\n";
  }
  if($showMemoryUsage) {
    print &consoleprint("Memory Usage").&memoryusageconsole."\n";
  }
  if($showDiskUsage) {
    print &consoleprint("Disk Usage").&diskusageconsole."\n";
  }
  if($showNetworkTraffic) {
    print &networktrafficconsole;
  }
  print $clear;
} else {
  print 'Invalid option specified.'."\n";
}


sub battery {
  $data = "";
  if(open(FD, '/proc/apm')) {
    while($stream = <FD>) {
      $data .= $stream;
      @data = split(/\n/, $data);
    }
    close(FD);
  }
  $data = $data[0];
  $data =~ s/.+\s(\d+%).+/$1/;
  return $data;
}


sub batteryconsole {
  $var = &battery;
  $var =~ s/(\d+)%/$1/;
  if($var <= '15') {
    $var = $crit.$var."%".$clear;
  } elsif($var <= '30') {
    $var = $warn.$var."%".$clear;
  } else {
    $var = $var."%";
  }
  return $var;
}


sub consoleprint {
  my $string = shift;
  return "$norm$string$clear$misc:$clear ";
}


sub cpuinfo {
  my $string = shift;
  @arr = grep(/$string/, @cpuinfo);
  $var = join("\n", $arr[0]);
  @arr = split(/: /, $var);
  $var = $arr[1];
  return $var;
}


sub diskusage {
  if($irix || $irix64) {
    $vara = `$df | grep dev | awk '{ sum+=\$3 / 1024 / 1024}; END { print sum }'`; chomp($vara);
    $vard = `$df | grep dev | awk '{ sum+=\$4 / 1024 / 1024}; END { print sum }'`; chomp($vard);
  } else {
    $vara = `$df | grep dev | awk '{ sum+=\$2 / 1024 / 1024}; END { print sum }'`; chomp($vara);
    $vard = `$df | grep dev | awk '{ sum+=\$3 / 1024 / 1024}; END { print sum }'`; chomp($vard);
  }
  $varp = sprintf("%.2f", $vard / $vara * 100);
  $vara = sprintf("%.2f", $vara);
  $vard = sprintf("%.2f", $vard);
  return $vard."GB/".$vara."GB ($varp%)";
}


sub diskusageconsole {
  $var = &diskusage;
  $vara = $var;
  $varp = $var;
  $vara =~ s/(.+)\(.+%\)/$1/;
  $varp =~ s/.+\((.+)%\)/$1/;
  if($varp >= 90) {
    $var = "$vara$crit($clear$varp\%$crit)$clear";
  } elsif($varp >= 75) {
    $var = "$vara$warn($clear$varp\%$warn)$clear";
  } else {
    $var = "$vara$misc($clear$varp\%$misc)$clear";
  }
}


sub users {
    $var = `uptime`;chomp($var);
    $var =~ s/^.* +(.*) user.*$/$1/;
    return $var;
}


sub loadaverage {
  $var = `uptime`; chomp($var);
  if($irix || $irix64 || $linux) {
    @arr = split(/average: /, $var, 2);
  } else {
    @arr = split(/averages: /, $var, 2);
  }
  if($d700 || $darwin) {
    @arr = split(/ /, $arr[1], 2);
  } else {
    @arr = split(/, /, $arr[1], 2);
  }
  $var = $arr[0];
  return $var;
}


sub loadaverageconsole {
  $var = &loadaverage;
  if($var >= '1.00') {
    $var = "$crit$var$clear";
  } elsif($var >= '0.85') {
    $var = "$warn$var$clear";
  }
  return $var;
}


sub meminfo {
  my $string = shift;
  @arr = grep(/$string/, @meminfo);
  $var = join("\n", $arr[0]);
  @arr = split(/\s+/, $var);
  $var = $arr[1];
  return $var;
}


sub memoryusage {
  if($linux) {
    if($l26) {
      $vara = &meminfo("MemTotal:") * 1024;
      $varb = &meminfo("Buffers:") * 1024;
      $varc = &meminfo("Cached:") * 1024;
      $vard = &meminfo("MemFree:") * 1024;
    } else {
      @arr = grep(/Mem:/, @meminfo);
      $var = join("\n", @arr);
      @arr = split(/\s+/, $var);
      $vara = $arr[1];
      $varb = $arr[5];
      $varc = $arr[6];
      $vard = $arr[3];
    }
    $vard = ($vara - $vard) - $varb - $varc;
  } elsif($darwin) {
    $vard = `vm_stat | grep 'Pages active' | awk '{print \$3}'` * 4096;
    $vara = `$sysctl -n hw.physmem`;
  } elsif($irix || $irix64) {
    $var = `top -d1 | grep Memory`; chomp($var);
    $vara = $var;
    $vard = $var;
    $vara =~ s/^.* ([0-9]*)M max.*$/$1/;
    $vara *= 1024 * 1024;
    $vard =~ s/^.* ([0-9]*)M free,.*$/$1/;
    $vard = $vara - ($vard * 1024 * 1024);
  } else {
    $vard = `vmstat -s | grep 'pages active' | awk '{print \$1}'` * `vmstat -s | grep 'per page' | awk '{print \$1}'`;
    $vara = `$sysctl -n hw.physmem`;
  }
  $varp = sprintf("%.2f", $vard / $vara * 100);
  $vara = sprintf("%.2f", $vara / 1024 / 1024);
  $vard = sprintf("%.2f", $vard / 1024 / 1024);
  return $vard."MB/".$vara."MB ($varp%)";
}


sub memoryusageconsole {
  $var = &memoryusage;
  $vara = $var;
  $varp = $var;
  $vara =~ s/(.+)\(.+%\)/$1/;
  $varp =~ s/.+\((.+)%\)/$1/;
  if($varp >= 90) {
    $var = "$vara$crit($clear$varp\%$crit)$clear";
  } elsif($varp >= 75) {
    $var = "$vara$warn($clear$varp\%$warn)$clear";
  } else {
    $var = "$vara$misc($clear$varp\%$misc)$clear";
  }
  return $var;
}


sub networkinfobsd {
  $varc = shift;
  $vard = shift;
  @arr = grep(/$varc/, @netstat);
  @arr = grep(/Link/, @arr);
  $var = join("\n", @arr);
  @arr = split(/\s+/, $var);
  $var = $arr[$vard] / 1024 / 1024;
  $var = sprintf("%.2f", $var);
  return $var;
}


sub networkinfolinux {
  $varc = shift;
  $vard = shift;
  @arr = grep(/$varc/, @netdev);
  $var = join("\n", @arr);
  @arr = split(/:\s*/, $var);
  @arr = split(/\s+/, $arr[1]);
  $var = $arr[$vard] / 1024 / 1024;
  $var = sprintf("%.2f", $var);
  return $var;
}


sub networktraffic {
  $vara = 0;
  $varb = scalar @nic;
  if($nic[$vara] ne "") {
    while($vara lt $varb) {
      if($nic[$vara] ne "") {
        if($darwin || $freebsd) {
          $varx = &networkinfobsd($nic[$vara], 6);
          $vary = &networkinfobsd($nic[$vara], 9);
        }
        if($netbsd || $openbsd) {
          $varx = &networkinfobsd($nic[$vara], 4);
          $vary = &networkinfobsd($nic[$vara], 5);
        }
        if($linux) {
          $varx = &networkinfolinux($nic[$vara], 0);
          $vary = &networkinfolinux($nic[$vara], 8);
        }
        if ($vara ne 0)
		{
			$varz .= $col2." - ";
		}
		$varz .= $col1.$nicname[$vara]." Traffic ".$col2."(".$col1.$nic[$vara].$col2."): ".$col1.$varx.$col1."MB In".$col2."/".$col1.$vary."MB Out ";
      }
      $vara++;
    }
    return $varz;
  }
}


sub networktrafficconsole {
  $var = &networktraffic;
  @arr = split(/ - /, $var);
  $varx = 0;
  $vary = scalar @arr;
  $varz = '';
  while($varx lt $vary) {
    $vara = $arr[$varx];
    $varb = $arr[$varx];
    $varc = $arr[$varx];
    $vara =~ s/(.+) Traffic \(.+\): .+/$1/;
    $varb =~ s/.+ Traffic \((.+)\): .+/$1/;
    $varc =~ s/.+ Traffic \(.+\): (.+)/$1/;
    $varc =~ s/(.+)\/(.+)/$1$misc\/$clear$2/;
    $varz .= "$norm$vara Traffic $clear$misc($clear$varb$misc):$clear $varc\n";
    $varx++;
  }
  return $varz;
}


sub openfile {
  my $string = shift;
  $data = "";
  if(open(FD, $string)) {
    while($stream = <FD>) {
      $data .= $stream;
      @data = split(/\n/, $data);
    }
    close(FD);
  }
  return @data;
}


sub processes {
  if($irix || $irix64) {
    $var = `ps -e | grep -v PID | wc -l`;
  } else {
    $var = `ps ax | grep -v PID | wc -l`;
  }
  chomp($var);
  $var = $var;
  $var =~ s/^\s+//;
  $var =~ s/\s+$//;
  return $var;
}


sub topcpuprocess {
  if($irix || $irix64 || $linux) {
    $var = `ps -eo pcpu,pid,user,args | grep -v '\%CPU' | sort | tail -n 1`; chomp($var);
    $var =~ s/^\s*//g;
    @arr = split(/\s+/, $var);
    $vara = $arr[0];
    $varb = $arr[1];
    $varc = $arr[2];
    $vard = $arr[3];
  } else {
    $var = `ps auxwwwr | head -n 2 | tail -n 1`; chomp($var);
    @arr = split(/\s+/, $var);
    $vara = $arr[2];
    $varb = $arr[1];
    $varc = $arr[0];
    $vard = $arr[10];
  }
  if($vara >= 90) {
    $var = "$vard $misc($clear$varb$misc/$clear$varc$misc)$clear = $crit$vara$clear%";
  } elsif($vara >= 75) {
    $var = "$vard $misc($clear$varb$misc/$clear$varc$misc)$clear = $warn$vara$clear%";
  } else {
    $var = "$vard $misc($clear$varb$misc/$clear$varc$misc)$clear = $vara%";
  }
}


sub uptime {
  if($irix || $irix64) {
    $var = `uptime`; chomp($var);
    if($var =~ /day/) {
      $var =~ s/^.* ([0-9]*) day.* ([0-9]*):([0-9]*), .*$/$1d $2h $3m/;
    } elsif($var =~/min/) {
      $var =~ s/^.* ([0-9]*) min.*$/0d 0h $1m/;
    } else {
      $var =~ s/^.* ([0-9]*):([0-9]*),.*$/0d $1h $2m/;
    }
    return $var;
  } else {
    if($freebsd) {
      $var = `$sysctl -n kern.boottime | awk '{print \$4}'`;
    }
    if($netbsd || $openbsd || $darwin) {
      $var = `$sysctl -n kern.boottime`;
    }
    if($linux) {
      @arr = split(/ /, $uptime[0]);
      $varx = $arr[0];
    } else {
      chomp($var);
      $var =~ s/,//g;
      $vary = `date +%s`; chomp($vary);
      $varx = $vary - $var;
    }
    $varx = sprintf("%2d", $varx);
    $vard = floor($varx / 86400);
    $varx %= 86400;
    $varh = floor($varx / 3600);
    $varx %= 3600;
    $varm = floor($varx / 60);
    if($vard eq 0) { $vard = ''; } elsif($vard >= 1) { $vard = $vard.'d '; }
    if($varh eq 0) { $varh = ''; } elsif($varh >= 1) { $varh = $varh.'h '; }
    if($varm eq 0) { $varm = ''; } elsif($varm >= 1) { $varm = $varm.'m'; }
    return $vard.$varh.$varm;
  }
}
Wer keine angst vorm Teufel hat, Braucht auch keinen Gott.

Hendrik
Chef
Beiträge:2076
Registriert:2. Sep 2003, 16:43
Wohnort:Berlin
Kontaktdaten:

Re: problem mit script oder ist es doch was anderes ?

Beitrag von Hendrik » 18. Sep 2008, 17:38

probier mal aus:

nimm aus der ersten zeile des perl skripts den parameter "-w" einfach weg. klappts dann mit dem script?

Grüße
-hendrik-
Einmal lesen, für immer glücklich: Hinweise zum Forum
--
Programming is similar to sex. If you make a mistake, you have to support it for the rest of your life.

BoEhSeR-OnKeL
IRC-Addict
Beiträge:74
Registriert:27. Mär 2005, 17:19
Wohnort:Oberhausen (NRW)
Kontaktdaten:

Re: problem mit script oder ist es doch was anderes ?

Beitrag von BoEhSeR-OnKeL » 19. Sep 2008, 15:55

leider nicht :(

Code: Alles auswählen

«15:55:14» {@BoEhSeR-OnKeL} .sysinfo
«15:55:15» {@Sp1k3} Perl script is not executable or doesn't exist.
Wer keine angst vorm Teufel hat, Braucht auch keinen Gott.

Hendrik
Chef
Beiträge:2076
Registriert:2. Sep 2003, 16:43
Wohnort:Berlin
Kontaktdaten:

Re: problem mit script oder ist es doch was anderes ?

Beitrag von Hendrik » 19. Sep 2008, 16:55

Wenn du mal versuchst bei dem Perl Script das executable-Bit für owner, group und others zu setzen?

Code: Alles auswählen

chmod ugo+x /pfad/zum/perl/skript.pl
Grüße
-Hendrik-
Einmal lesen, für immer glücklich: Hinweise zum Forum
--
Programming is similar to sex. If you make a mistake, you have to support it for the rest of your life.

BoEhSeR-OnKeL
IRC-Addict
Beiträge:74
Registriert:27. Mär 2005, 17:19
Wohnort:Oberhausen (NRW)
Kontaktdaten:

Re: problem mit script oder ist es doch was anderes ?

Beitrag von BoEhSeR-OnKeL » 19. Sep 2008, 20:19

noch immer das gleiche...
Wer keine angst vorm Teufel hat, Braucht auch keinen Gott.

Hendrik
Chef
Beiträge:2076
Registriert:2. Sep 2003, 16:43
Wohnort:Berlin
Kontaktdaten:

Re: problem mit script oder ist es doch was anderes ?

Beitrag von Hendrik » 19. Sep 2008, 22:14

Okay,

also wir haben jetzt überflüssige warnmeldungen aus dem scriptoutput entfernt, wir haben das script ausführbar (executable) gemacht. Jetzt bleibt nur noch eine möglichkeit (angenommen die fehlermeldung ist korrekt): das skript ist nicht dort, wo es von dem scriptaufrufer (dem TCL-file, das im eggi geladen ist) gesucht wird.

bitte schau im TCL-file nach, ob der scriptname des pl-files korrekt eingetragen ist (groß- und kleinschreibung beachten), eventuell stimmt was mit den relativen pfaden ( scripts/, ../ oder so) nicht. es lohnt sich uU den kompletten pfadnamen dazuzuschreiben.

Grüße
-Hendrik-
Einmal lesen, für immer glücklich: Hinweise zum Forum
--
Programming is similar to sex. If you make a mistake, you have to support it for the rest of your life.

BoEhSeR-OnKeL
IRC-Addict
Beiträge:74
Registriert:27. Mär 2005, 17:19
Wohnort:Oberhausen (NRW)
Kontaktdaten:

Re: problem mit script oder ist es doch was anderes ?

Beitrag von BoEhSeR-OnKeL » 20. Sep 2008, 11:49

die sysinfo.tcl liegt im ordner scripts genau wie die .pl

Code: Alles auswählen

proc sys_dosysinfo { } {
	if {[catch {exec scripts/sysinfo278.10.pl} sysinfo]} { set sysinfo "Perl script is not executable or doesn't exist." }
	return "$sysinfo"
}

ps: hat nix mit dem thema zu tuen, aber könnte man mein benutzername von "OgC`BoEhSeR-OnKeL" auf "BoEhSeR-OnKeL" ändern?
Wer keine angst vorm Teufel hat, Braucht auch keinen Gott.

Hendrik
Chef
Beiträge:2076
Registriert:2. Sep 2003, 16:43
Wohnort:Berlin
Kontaktdaten:

Re: problem mit script oder ist es doch was anderes ?

Beitrag von Hendrik » 20. Sep 2008, 12:07

Hallo,

kannst du den Pfad "scripts/sysinfo278.10.pl" in den ganzen absoluten Pfadnamen ändern? Also daraus (zB, je nachdem wo die datei liegt) "/home/onkel/eggdrop/scripts/sysinfo278.10.pl" machen?

-Hendrik-
Einmal lesen, für immer glücklich: Hinweise zum Forum
--
Programming is similar to sex. If you make a mistake, you have to support it for the rest of your life.

BoEhSeR-OnKeL
IRC-Addict
Beiträge:74
Registriert:27. Mär 2005, 17:19
Wohnort:Oberhausen (NRW)
Kontaktdaten:

Re: problem mit script oder ist es doch was anderes ?

Beitrag von BoEhSeR-OnKeL » 20. Sep 2008, 12:35

noch immer das gleiche, bin auch schon alles aus und abgegangen. blick da nicht durch warum der da so rumzickt :/

THX für nick ändern.
Wer keine angst vorm Teufel hat, Braucht auch keinen Gott.

Antworten