Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- use strict;
- use warnings;
- my %cus_name_db;
- my $mysql_ds_file = "/nas01/SANproduction/APP_DIR/jboss/server/dulea/deploy/mysqlds.xml";
- my @allowed_port_list = ('2880', '3880', '4880', '5880', '6880', '7880');
- my $complete_output;
- main();
- sub main {
- read_cus_name_db();
- open(APP_SERVER, "app_servers.txt") or die "Cannot open app_servers.txt\n";
- #print the headers. I know this is dirty.
- #print "Appserver, Free ports ...\n";
- my @app_servers = <APP_SERVER>;
- chomp @app_servers;
- foreach my $app_server (@app_servers) {
- find_app_server_data($app_server);
- }
- #print "$complete_output";
- }
- sub find_app_server_data {
- my $app_server = shift @_;
- my @app_server_output = `ssh $app_server ~/bin/perl/get_app_server_info.pl`;
- my %ports_used;
- chomp @app_server_output;
- #print @app_server_output;
- foreach my $raw_data (@app_server_output) {
- my ($ucn, $app_dir, $app_jboss_port) = split(/,/, $raw_data);
- my $db_name;
- $app_dir =~ s/^\s+//; #remove leading spaces
- $app_jboss_port =~ s/^\s+//; #remove leading spaces
- my $db_file = $mysql_ds_file;
- $db_file =~ s/APP_DIR/$app_dir/;
- my $connection_url = `grep connection-url $db_file`;
- #print $connection_url;
- if ($connection_url =~ /:55883\/(.*?)\?useUnicode/) { $db_name = $1;
- }
- }
- my $customer_name = $cus_name_db{$ucn};
- #print "$ucn, $app_server, $db_name, $customer_name\n";
- $ports_used{$app_jboss_port} = $app_jboss_port;
- }
- print_port_usage_table($app_server, \%ports_used);
- }
- sub read_cus_name_db {
- open(CUS_NAME_CSV, "customer_name_db.csv") or
- die "Cannot open customer_name_db.csv\n";
- while (<CUS_NAME_CSV>) {
- my ($key, $value)= split(/,/);
- chomp $value;
- $cus_name_db{$key} = $value;
- }
- }
- sub print_port_usage_table {
- my $app_server = shift @_;
- my $used_ports = shift @_;
- #print "$app_server: ";
- $complete_output .= "$app_server: ";
- foreach my $port (@allowed_port_list) {
- #print "$used_ports->{'2880'}";
- unless ($used_ports->{$port}) {
- #print "$port ";
- $complete_output .= "$port ";
- }
- }
- #print "\n";
- $complete_output .= "\n"; "|/bin/mail -s FreePorts zog\@geeemail.com" || die "mail failed: $!\n";
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement