Linux biogene 3.16.0-11-amd64 #1 SMP Debian 3.16.84-1 (2020-06-09) x86_64
Apache
: 46.101.124.208 | : 3.136.23.252
Cant Read [ /etc/named.conf ]
5.6.40-0+deb8u12
www-data
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
README
+ Create Folder
+ Create File
/
usr /
sbin /
[ HOME SHELL ]
Name
Size
Permission
Action
a2disconf
13.84
KB
-rwxr-xr-x
a2dismod
13.84
KB
-rwxr-xr-x
a2dissite
13.84
KB
-rwxr-xr-x
a2enconf
13.84
KB
-rwxr-xr-x
a2enmod
13.84
KB
-rwxr-xr-x
a2ensite
13.84
KB
-rwxr-xr-x
a2query
9.66
KB
-rwxr-xr-x
accessdb
10.13
KB
-rwxr-xr-x
accton
10.2
KB
-rwxr-xr-x
acpid
46.8
KB
-rwxr-xr-x
add-shell
695
B
-rwxr-xr-x
addgnupghome
3.05
KB
-rwxr-xr-x
addgroup
33.66
KB
-rwxr-xr-x
adduser
33.66
KB
-rwxr-xr-x
amavis-mc
18.73
KB
-rwxr-xr-x
amavis-services
33.4
KB
-rwxr-xr-x
amavisd-agent
13.11
KB
-rwxr-xr-x
amavisd-nanny
11.72
KB
-rwxr-xr-x
amavisd-new
1.46
MB
-rwxr-xr-x
amavisd-new-cronjob
825
B
-rwxr-xr-x
amavisd-release
12.32
KB
-rwxr-xr-x
amavisd-signer
36.85
KB
-rwxr-xr-x
amavisd-snmp-subagent
52.97
KB
-rwxr-xr-x
amavisd-snmp-subagent-zmq
52.42
KB
-rwxr-xr-x
amavisd-status
14
KB
-rwxr-xr-x
amavisd-submit
9.09
KB
-rwxr-xr-x
apache2
650.93
KB
-rwxr-xr-x
apache2ctl
6.25
KB
-rwxr-xr-x
apachectl
6.25
KB
-rwxr-xr-x
applygnupgdefaults
2.21
KB
-rwxr-xr-x
arp
54.38
KB
-rwxr-xr-x
arpd
39.11
KB
-rwxr-xr-x
arping
30.48
KB
-rwxr-xr-x
aspell-autobuildhash
13.09
KB
-rwxr-xr-x
atd
21.88
KB
-rwxr-xr-x
biosdecode
18.76
KB
-rwxr-xr-x
check_forensic
952
B
-rwxr-xr-x
chgpasswd
57.3
KB
-rwxr-xr-x
chpasswd
49.36
KB
-rwxr-xr-x
chroot
34.6
KB
-rwxr-xr-x
cpgr
51.48
KB
-rwxr-xr-x
cppw
51.48
KB
-rwxr-xr-x
cron
43.36
KB
-rwxr-xr-x
dbconfig-generate-include
11.63
KB
-rwxr-xr-x
dbconfig-load-include
5.57
KB
-rwxr-xr-x
delgroup
15.43
KB
-rwxr-xr-x
deluser
15.43
KB
-rwxr-xr-x
dmidecode
98.43
KB
-rwxr-xr-x
dovecot
82.05
KB
-rwxr-xr-x
dpkg-divert
135.23
KB
-rwxr-xr-x
dpkg-preconfigure
3.52
KB
-rwxr-xr-x
dpkg-reconfigure
4.23
KB
-rwxr-xr-x
dpkg-statoverride
58.84
KB
-rwxr-xr-x
dump-acct
18.46
KB
-rwxr-xr-x
dump-utmp
14.4
KB
-rwxr-xr-x
e2freefrag
10.18
KB
-rwxr-xr-x
e4defrag
26.47
KB
-rwxr-xr-x
fdformat
10.21
KB
-rwxr-xr-x
filefrag
14.25
KB
-rwxr-xr-x
groupadd
57.36
KB
-rwxr-xr-x
groupdel
53.23
KB
-rwxr-xr-x
groupmod
67.73
KB
-rwxr-xr-x
grpck
53.35
KB
-rwxr-xr-x
grpconv
49.23
KB
-rwxr-xr-x
grpunconv
49.23
KB
-rwxr-xr-x
grub-bios-setup
751.6
KB
-rwxr-xr-x
grub-install
943.7
KB
-rwxr-xr-x
grub-macbless
739.26
KB
-rwxr-xr-x
grub-mkconfig
7.78
KB
-rwxr-xr-x
grub-mkdevicemap
188.83
KB
-rwxr-xr-x
grub-probe
749.2
KB
-rwxr-xr-x
grub-reboot
4.01
KB
-rwxr-xr-x
grub-set-default
3.48
KB
-rwxr-xr-x
httxt2dbm
9.96
KB
-rwxr-xr-x
iconvconfig
30.46
KB
-rwxr-xr-x
install-sgmlcatalog
4.44
KB
-rwxr-xr-x
invoke-rc.d
15.01
KB
-rwxr-xr-x
ip6tables-apply
6.85
KB
-rwxr-xr-x
iptables-apply
6.85
KB
-rwxr-xr-x
irqbalance
43.07
KB
-rwxr-xr-x
ispell-autobuildhash
15.25
KB
-rwxr-xr-x
laptop-detect
2.53
KB
-rwxr-xr-x
ldattach
22.35
KB
-rwxr-xr-x
locale-gen
1.5
KB
-rwxr-xr-x
logrotate
62.92
KB
-rwxr-xr-x
logwatch
57.19
KB
-rwxr-xr-x
make-ssl-cert
3.69
KB
-rwxr-xr-x
mkinitramfs
9.15
KB
-rwxr-xr-x
mklost+found
10.2
KB
-rwxr-xr-x
mount.davfs
123.61
KB
-rwsr-xr-x
mysqld
11.32
MB
-rwxr-xr-x
newusers
77.86
KB
-rwxr-xr-x
nfacct
14.2
KB
-rwxr-xr-x
nfnl_osf
14.18
KB
-rwxr-xr-x
nologin
5.87
KB
-rwxr-xr-x
ownership
10.13
KB
-rwxr-xr-x
p0f-analyzer
23.34
KB
-rwxr-xr-x
pam-auth-update
19.02
KB
-rwxr-xr-x
pam_getenv
2.82
KB
-rwxr-xr-x
pam_timestamp_check
10.2
KB
-rwxr-xr-x
paperconfig
4.07
KB
-rwxr-xr-x
php5dismod
6.21
KB
-rwxr-xr-x
php5enmod
6.21
KB
-rwxr-xr-x
php5query
5.05
KB
-rwxr-xr-x
pma-configure
299
B
-rwxr-xr-x
pma-secure
157
B
-rwxr-xr-x
postalias
17.87
KB
-rwxr-xr-x
postcat
17.94
KB
-rwxr-xr-x
postconf
163.38
KB
-rwxr-xr-x
postdrop
13.99
KB
-r-xr-sr-x
postfix
13.95
KB
-rwxr-xr-x
postfix-add-filter
4.88
KB
-rwxr-xr-x
postfix-add-policy
3.81
KB
-rwxr-xr-x
postkick
9.87
KB
-rwxr-xr-x
postlock
9.87
KB
-rwxr-xr-x
postlog
10.05
KB
-rwxr-xr-x
postmap
17.87
KB
-rwxr-xr-x
postmulti
30.26
KB
-rwxr-xr-x
postqueue
13.95
KB
-r-xr-sr-x
postsuper
26.26
KB
-rwxr-xr-x
posttls-finger
33.95
KB
-rwxr-xr-x
pwck
49.3
KB
-rwxr-xr-x
pwconv
45.17
KB
-rwxr-xr-x
pwunconv
36.36
KB
-rwxr-xr-x
qmqp-sink
13.87
KB
-rwxr-xr-x
qmqp-source
17.88
KB
-rwxr-xr-x
qshape
12.55
KB
-rwxr-xr-x
readprofile
14.33
KB
-rwxr-xr-x
remove-default-ispell
2.86
KB
-rwxr-xr-x
remove-default-wordlist
2.86
KB
-rwxr-xr-x
remove-shell
749
B
-rwxr-xr-x
rmail
13.87
KB
-rwxr-xr-x
rmt
54.91
KB
-rwxr-xr-x
rmt-tar
54.91
KB
-rwxr-xr-x
rsyslogd
563.81
KB
-rwxr-xr-x
rtcwake
26.42
KB
-rwxr-xr-x
sa
35.39
KB
-rwxr-xr-x
safe_finger
10.3
KB
-rwxr-xr-x
select-default-ispell
1.83
KB
-rwxr-xr-x
select-default-wordlist
1.82
KB
-rwxr-xr-x
sendmail
26.05
KB
-rwxr-xr-x
service
9.37
KB
-rwxr-xr-x
setvesablank
10.07
KB
-rwxr-xr-x
slapacl
1.21
MB
-rwxr-xr-x
slapadd
1.21
MB
-rwxr-xr-x
slapauth
1.21
MB
-rwxr-xr-x
slapcat
1.21
MB
-rwxr-xr-x
slapd
1.21
MB
-rwxr-xr-x
slapdn
1.21
MB
-rwxr-xr-x
slapindex
1.21
MB
-rwxr-xr-x
slappasswd
1.21
MB
-rwxr-xr-x
slapschema
1.21
MB
-rwxr-xr-x
slaptest
1.21
MB
-rwxr-xr-x
smtp-sink
30.8
KB
-rwxr-xr-x
smtp-source
21.89
KB
-rwxr-xr-x
spamd
127.49
KB
-rwxr-xr-x
split-logfile
2.36
KB
-rwxr-xr-x
sshd
760.63
KB
-rwxr-xr-x
tarcat
936
B
-rwxr-xr-x
tcpd
10.12
KB
-rwxr-xr-x
tcpdchk
22.42
KB
-rwxr-xr-x
tcpdmatch
18.33
KB
-rwxr-xr-x
tcptraceroute
1.45
KB
-rwxr-xr-x
tcptraceroute.db
1.45
KB
-rwxr-xr-x
traceroute
67.37
KB
-rwxr-xr-x
try-from
10.06
KB
-rwxr-xr-x
tunelp
14.22
KB
-rwxr-xr-x
tzconfig
106
B
-rwxr-xr-x
umount.davfs
10.21
KB
-rwxr-xr-x
update-alternatives
46.43
KB
-rwxr-xr-x
update-ca-certificates
4.85
KB
-rwxr-xr-x
update-catalog
9.15
KB
-rwxr-xr-x
update-default-aspell
1
KB
-rwxr-xr-x
update-default-ispell
9.68
KB
-rwxr-xr-x
update-default-wordlist
7.5
KB
-rwxr-xr-x
update-dictcommon-aspell
1
KB
-rwxr-xr-x
update-dictcommon-hunspell
782
B
-rwxr-xr-x
update-grub
64
B
-rwxr-xr-x
update-grub2
64
B
-rwxr-xr-x
update-icon-caches
617
B
-rwxr-xr-x
update-info-dir
1.65
KB
-rwxr-xr-x
update-initramfs
8.76
KB
-rwxr-xr-x
update-locale
2.99
KB
-rwxr-xr-x
update-mime
8.84
KB
-rwxr-xr-x
update-passwd
30.31
KB
-rwxr-xr-x
update-pciids
2.84
KB
-rwxr-xr-x
update-python-modules
19.33
KB
-rwxr-xr-x
update-rc.d
11.72
KB
-rwxr-xr-x
update-xmlcatalog
16.28
KB
-rwxr-xr-x
upgrade-from-grub-legacy
1.49
KB
-rwxr-xr-x
useradd
118.69
KB
-rwxr-xr-x
userdel
81.92
KB
-rwxr-xr-x
usermod
122.5
KB
-rwxr-xr-x
validlocale
1.73
KB
-rwxr-xr-x
vcstime
6.06
KB
-rwxr-xr-x
vigr
59.73
KB
-rwxr-xr-x
vipw
59.73
KB
-rwxr-xr-x
visudo
2.2
MB
-rwxr-xr-x
vpddecode
14.26
KB
-rwxr-xr-x
vsftpd
156.32
KB
-rwxr-xr-x
zabbix_agentd
527.59
KB
-rwxr-xr-x
zic
42.36
KB
-rwxr-xr-x
Delete
Unzip
Zip
${this.title}
Close
Code Editor : amavisd-agent
#!/usr/bin/perl -T #------------------------------------------------------------------------------ # This is amavisd-agent, a demo program to display # SNMP-like counters updated by amavisd-new. # # Author: Mark Martinec <Mark.Martinec@ijs.si> # # Copyright (c) 2004-2014, Mark Martinec # 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 COPYRIGHT HOLDERS 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 COPYRIGHT OWNER 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. # # The views and conclusions contained in the software and documentation are # those of the authors and should not be interpreted as representing official # policies, either expressed or implied, of the Jozef Stefan Institute. # (the above license is the 2-clause BSD license, also known as # a "Simplified BSD License", and pertains to this program only) # # Patches and problem reports are welcome. # The latest version of this program is available at: # http://www.ijs.si/software/amavisd/ #------------------------------------------------------------------------------ use strict; use re 'taint'; use warnings; no warnings 'uninitialized'; use Errno qw(ENOENT); use Time::HiRes (); use BerkeleyDB; my($dbfile) = 'snmp.db'; my($db_home) = # DB databases directory defined $ENV{'AMAVISD_DB_HOME'} ? $ENV{'AMAVISD_DB_HOME'} : '/var/lib/amavis/db'; my($wakeuptime) = 10; # -w, sleep time in seconds, may be fractional my($repeatcount); # -c, repeat count (when defined) use vars qw($VERSION); $VERSION = 2.701; use vars qw(%values %virus_by_name); use vars qw(%virus_by_os %spam_by_os %ham_by_os); use vars qw(%history $avg_int $uptime); $avg_int = 5*60; # 5 minute interval sub p1($$@) { my($k,$avg,@tot_k) = @_; printf("%-35s %6d %6.0f/h", $k, $values{$k}, $avg*3600); for my $tot_k (@tot_k) { if ($values{$tot_k} <= 0) { printf(" --- %%") } else { printf(" %7.1f %%", 100*$values{$k}/$values{$tot_k}) } print " ($tot_k)"; } print "\n"; } sub p1_size($$@) { my($k,$avg,@tot_k) = @_; my($scale) = 1024*1024; printf("%-35s %6.0fMB %4.0fMB/h", $k, $values{$k}/$scale, $avg*3600/$scale); for my $tot_k (@tot_k) { if ($values{$tot_k} <= 0) { printf(" --- %%") } else { printf(" %5.1f %%", 100*$values{$k}/$values{$tot_k}) } print " ($tot_k)"; } print "\n"; } sub p1_time($$$$) { my($k,$dv,$dcnt,$tot_k) = @_; printf("%-35s %6.0f s %8s s/msg (%s)\n", $k, $values{$k}/1000, $dcnt < 1 ? "---" : sprintf("%7.3f",$dv/1000/$dcnt), $tot_k); } sub p2($$$$) { my($k,$avg,$tot_k,$href) = @_; if ($values{$tot_k} > 0) { printf("%-35s %6d %6.0f/h %6.1f %% (%s)\n", $k, $href->{$k}, $avg*3600, 100*$href->{$k}/$values{$tot_k}, $tot_k); } } sub enqueue($$$$$) { my($name,$now,$val,$msgcnt,$hold_time) = @_; if (ref $history{$name} ne 'ARRAY') { $history{$name} = [] } my($oldest_useful); for my $j (0..$#{$history{$name}}) { if ($history{$name}->[$j][0] + $hold_time >= $now) { $oldest_useful = $j; last } } if (defined $oldest_useful) { @{$history{$name}} = @{$history{$name}}[$oldest_useful..$#{$history{$name}}]; } push(@{$history{$name}}, [$now,$val,$msgcnt]); my($average,$dv,$dt,$dcnt); my($n) = scalar(@{$history{$name}}); my($oldest) = $history{$name}->[0]; my($latest) = $history{$name}->[$n-1]; $dt = $latest->[0] - $oldest->[0]; $dv = $latest->[1] - $oldest->[1]; $dcnt = $latest->[2] - $oldest->[2]; if ($n < 2 || $dt < $hold_time/2) { $dt = $uptime; $dv = $val; $dcnt = $msgcnt; # average since the start time } if ($dt > 0) { $average = $dv/$dt } ($average, $dv, $dt, $dcnt, $n); } sub fmt_ticks($) { my($t) = @_; my($hh)= $t % 100; $t = int($t/100); my($s) = $t % 60; $t = int($t/60); my($m) = $t % 60; $t = int($t/60); my($h) = $t % 24; $t = int($t/24); my($d) = $t; sprintf("%d days, %d:%02d:%02d.%02d", $d,$h,$m,$s,$hh); }; # main program starts here my($normal_termination) = 0; $SIG{INT} = sub { die "\n" }; # do the END code block while (@ARGV) { my($opt) = shift @ARGV; my($val) = shift @ARGV; if ($opt eq '-w' && $val =~ /^\+?\d+(?:\.\d*)?\z/) { $wakeuptime = $val } elsif ($opt eq '-c' && $val =~ /^[+-]?\d+\z/) { $repeatcount = $val } else { die "Usage: $0 [-c <count>] [-w <wait-interval>]\n" } } my($stat,$key,$val); my($env,$db,$old_db_inode,@dbstat,$cursor); for (;;) { last if defined $repeatcount && $repeatcount <= 0; @dbstat = stat("$db_home/$dbfile"); my($errn) = @dbstat ? 0 : 0+$!; $errn==0 || $errn==ENOENT or die "stat $db_home/$dbfile: $!"; if (defined $db && $old_db_inode != $dbstat[1]) { $db->db_close==0 or die "BDB db_close error: $BerkeleyDB::Error $!"; undef $db; printf STDERR ("Reopening snmp database %s/%s\n", $db_home,$dbfile); } if (!defined $db && $errn==0) { $old_db_inode = $dbstat[1]; $env = BerkeleyDB::Env->new( -Home => $db_home, -Flags => DB_INIT_CDB | DB_INIT_MPOOL, -ErrFile => \*STDOUT, -Verbose => 1); defined $env or die "BDB no env: $BerkeleyDB::Error $!"; $db = BerkeleyDB::Hash->new(-Filename => $dbfile, -Env => $env); defined $db or die "BDB no dbS 1: $BerkeleyDB::Error $!"; } $| = 0; %values = (); %virus_by_name = (); %virus_by_os = (); %spam_by_os = (); %ham_by_os = (); my($now); my($eval_stat,$interrupt); $interrupt = ''; if (!defined $db) { printf STDERR ("No snmp database %s/%s; waiting...\n", $db_home,$dbfile); } else { $repeatcount-- if defined $repeatcount && $repeatcount > 0; print "\n\n"; my($h1) = sub { $interrupt = $_[0] }; local(@SIG{qw(INT HUP TERM TSTP QUIT ALRM USR1 USR2)}) = ($h1) x 8; eval { $cursor = $db->db_cursor; # obtain read lock defined $cursor or die "db_cursor error: $BerkeleyDB::Error"; $now = Time::HiRes::time; while ( ($stat=$cursor->c_get($key,$val,DB_NEXT)) == 0 ) { if ($key =~ /^(virus\.byname\..*)\z/s) { $virus_by_name{$1} = $val } elsif ($key =~ /^(virus\.byOS\..*)\z/s) { $virus_by_os{$1} = $val } elsif ($key =~ /^(ham\.byOS\..*)\z/s) { $ham_by_os{$1} = $val } elsif ($key =~ /^(?:spam|spammy)\.byOS\.(.*)\z/s) { $spam_by_os{"spam.byOS.$1"} = $val } else { $values{$key} = $val } } $stat==DB_NOTFOUND or die "c_get: $BerkeleyDB::Error $!"; $cursor->c_close==0 or die "c_close error: $BerkeleyDB::Error"; $cursor = undef; }; $eval_stat = $@; if (defined $db) { $cursor->c_close if defined $cursor; # unlock, ignoring status $cursor = undef; } } if ($interrupt ne '') { kill($interrupt,$$) } # resignal elsif ($eval_stat ne '') { chomp($eval_stat); die "BDB $eval_stat\n" } for my $k (sort keys %values) { if ($values{$k} =~ /^(?:C32|C64) (.*)\z/) { $values{$k} = $1; } elsif ($k eq 'sysUpTime' && $values{$k} =~ /^INT (.*)\z/) { $uptime = $now - $1; my($ticks) = int($uptime*100); printf("%-15s %s %s (%s)\n", $k,'TimeTicks', $ticks, fmt_ticks($ticks)); delete($values{$k}); } elsif ($values{$k} =~ /^(?:INT|TIM) (.*)\z/) { $values{$k} = $1; } else { printf("%-15s %s\n", $k,$values{$k}); delete($values{$k}); } } my($msgcnt) = $values{'InMsgs'}; for (sort keys %values) { my($avg,$dv,$dt,$dcnt,$n) = enqueue($_, $now, $values{$_}, $msgcnt, $avg_int); if (/^OpsDecTyp/) {} # later elsif (/^CacheHitsVirusMsgs$/) { p1($_,$avg,'ContentVirusMsgs') } elsif (/^CacheHitsBannedMsgs$/) { p1($_,$avg,'ContentBannedMsgs') } elsif (/^CacheHitsSpamMsgs$/) { p1($_,$avg,'ContentSpamMsgs') } elsif (/^Cache/) { p1($_,$avg,'CacheAttempts') } # elsif (/^Content(.*?)Msgs/) { p1($_,$avg,'Content'.$1.'Msgs') } elsif (/^Content(.*?)Msgs(.*)\z/) { p1($_,$avg,'InMsgs'.$2) } elsif (/^Content/) { p1($_,$avg,'InMsgs') } elsif (/^OpsSql/) { p1($_,$avg,'InMsgsRecips') } elsif (/^InMsgsSize/) { p1_size($_,$avg,'InMsgsSize') } elsif (/^InMsgsRecipsLocal\z/) { p1($_,$avg,'InMsgsRecips') } elsif (/^InMsgsRecips(.*)\z/) { p1($_,$avg,'InMsgs'.$1) } elsif (/^InMsgsBounce./) { p1($_,$avg,'InMsgsBounce') } elsif (/^(InMsgs|Ops)/) { p1($_,$avg,'InMsgs') } elsif (/^OutMsgsSize\z/) { p1_size($_,$avg,'InMsgsSize') } elsif (/^OutMsgsSize/) { p1_size($_,$avg,'OutMsgsSize') } elsif (/^OutMsgs\z/) { p1($_,$avg,'InMsgs') } elsif (/^Out/) { p1($_,$avg,'OutMsgs') } elsif (/^QuarMsgsSize\z/) { p1_size($_,$avg,'InMsgsSize') } elsif (/^QuarMsgsSize/) { p1_size($_,$avg,'QuarMsgsSize') } elsif (/^Quar/) { p1($_,$avg,'QuarMsgs') } elsif (/^LogEntries\z/) { p1($_,$avg,'InMsgs') } elsif (/^Log/) { p1($_,$avg,'LogEntries') } elsif (/^GenMailIdRetries/) { p1($_,$avg,'InMsgs') } elsif (/^PenPalsAttempts\z/) { p1($_,$avg,'InMsgsRecipsLocal') } elsif (/^PenPalsHits\z/) { p1($_,$avg,'PenPalsAttempts')} elsif (/^PenPalsHits./) { p1($_,$avg,'PenPalsHits') } elsif (/^PenPals/) { p1($_,$avg,'PenPalsAttempts') } elsif (/^SqlAddrSenderAttempts\z/) { p1($_,$avg,'InMsgs') } elsif (/^SqlAddrSender/) { p1($_,$avg,'SqlAddrSenderAttempts') } elsif (/^SqlAddrRecipAttempts\z/) { p1($_,$avg,'InMsgsRecips') } elsif (/^SqlAddrRecip/) { p1($_,$avg,'SqlAddrRecipAttempts') } elsif (/^banned\.byOS/) { p1($_,$avg,'InMsgs') } elsif (/^TimeElapsed/i) { p1_time($_,$dv,$dcnt,'InMsgs') } else { p1($_,$avg,undef) } } for (sort { $values{$b}<=>$values{$a} } grep {/^OpsDecTyp/} keys %values) { my($avg,$dv,$dt,$dcnt,$n) = enqueue($_, $now, $values{$_}, $msgcnt, $avg_int); p1($_,$avg,'InMsgs'); } for my $href (\%virus_by_name,\%virus_by_os,\%spam_by_os,\%ham_by_os) { for (keys %$href) { $href->{$_} = $1 if $href->{$_} =~ /^(?:C32|C64) (.*)\z/ } } for my $href (\%virus_by_os,\%spam_by_os,\%ham_by_os) { for (keys %$href) { /^[a-zA-Z]+\.byOS\.(.*)\z/; my($os) = $1; $values{"all.byOS.$os"} += $href->{$_}; } } my($separated) = 0; for my $pair ([\%virus_by_name, 'ContentVirusMsgs',], [\%virus_by_os, 'ContentVirusMsgs',], [\%spam_by_os, 'ContentSpamMsgs', ], [\%ham_by_os, 'ContentCleanMsgs' ] ) { my($href,$tot_k) = @$pair; for (sort {$href->{$b} <=> $href->{$a}} keys %$href) { if (!$separated) { print "\n"; $separated = 1 } my($avg,$dv,$dt,$dcnt,$n) = enqueue($_, $now, $href->{$_}, $msgcnt, $avg_int); p2($_,$avg,$tot_k,$href); } } if (0) { # disabled $separated = 0; for my $href (\%virus_by_os, \%spam_by_os, \%ham_by_os) { for (sort {$href->{$b} <=> $href->{$a}} keys %$href) { if (!$separated) { print "\n"; $separated = 1 } my($avg,$dv,$dt,$dcnt,$n) = enqueue($_, $now, $href->{$_}, $msgcnt, $avg_int); /^[a-zA-Z]+\.byOS\.(.*)\z/; my($os) = $1; p2($_,$avg,"all.byOS.$os",$href); } } $separated = 0; for (sort { $values{$b}<=>$values{$a} } grep {/^all\.byOS\./} keys %values) { if (!$separated) { print "\n"; $separated = 1 } my($avg,$dv,$dt,$dcnt,$n) = enqueue($_, $now, $values{$_}, $msgcnt, $avg_int); p1($_,$avg,'InMsgs'); } } $| = 1; last if defined $repeatcount && $repeatcount <= 0; Time::HiRes::sleep($wakeuptime) if $wakeuptime > 0; } # forever $normal_termination = 1; END { if (defined $db) { $cursor->c_close if defined $cursor; # ignoring status $db->db_close==0 or die "BDB db_close error: $BerkeleyDB::Error $!"; } print STDERR "exited\n" if !$normal_termination; }
Close