-
Notifications
You must be signed in to change notification settings - Fork 0
/
REP1.pl
77 lines (70 loc) · 2.36 KB
/
REP1.pl
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
################################################################################
# Autor: Grzegorz Okoń - główny programista
#
# Obserwacja wielkości kolejek i statusu wątków na serwerze replikacji Sybase.
# Pokazywane są wątki, których status jest różny od aktywnych.
#
# Przykład formatu użytego w logu:
# admin who_is_down
#
# Spid Name State Info
# ---- ---------- -------------------- ----------------------------------------
#
#
# mj_kol
#
# Polaczenie typ_kolejki kolejka
# -------------------------------------------------- ----------- -----------
# nazwa_polaczenia Otbound 1
# nazwa_polaczenia Inbound 1
#################################################################################
use strict;
use warnings;
my $console = $ARGV[0];
my $threads = 'admin_who_is_down_xxx_yyyy.bat';
my $queues = 'mj_kol_xx_RSSD.bat';
my $flag = 0;
open (RESULT_ETIQUETTE, ">REP1.txt") || die "nie mozna utworzyc pliku";
open (INPUT_FILE,"$threads|");
while (<INPUT_FILE>) {
if($_ =~ /Spid\s+/) {
$flag = 1;
open (RESULT_ETIQUETTE, ">>REP1.txt") || die "nie moge utworzyc polaczenia do konsoli";
print RESULT_ETIQUETTE "admin who_is_down\n\n";
if (defined $console) {
open (RESULT_ETIQUETTE, ">&STDOUT") || die "nie moge utworzyc polaczenia do konsoli";
print RESULT_ETIQUETTE "admin who_is_down\n\n";
}
}
if ($flag == 1) {
open (RESULT_ETIQUETTE, ">>REP1.txt") || die "nie moge utworzyc polaczenia do konsoli";
print RESULT_ETIQUETTE $_;
if (defined $console) {
open (RESULT_ETIQUETTE, ">&STDOUT") || die "nie moge utworzyc polaczenia do konsoli";
print RESULT_ETIQUETTE $_;
}
}
}
close INPUT_FILE;
$flag = 0;
open (INPUT_FILE,"$queues|");
while (<INPUT_FILE>) {
if($_ =~ /Polaczenie\s+/) {
$flag = 1;
open (RESULT_ETIQUETTE, ">>REP1.txt") || die "nie moge utworzyc polaczenia do konsoli";
print RESULT_ETIQUETTE "\n\nmj_kol\n\n";
if (defined $console) {
open (RESULT_ETIQUETTE, ">&STDOUT") || die "nie moge utworzyc polaczenia do konsoli";
print RESULT_ETIQUETTE "\n\nmj_kol\n\n";
}
}
if($_ =~ /row/) {
$flag = 0;
}
if ($flag == 1) {
print RESULT_ETIQUETTE $_;
}
}
close INPUT_FILE;
format RESULT_ETIQUETTE =
.