HEX
Server: Apache
System: Linux a16-asgard6.hospedagemuolhost.com.br 5.14.0-570.52.1.el9_6.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Oct 15 06:39:08 EDT 2025 x86_64
User: maoristu4c3dbd03 (1436)
PHP: 8.1.33
Disabled: NONE
Upload Files
File: //opt/VRTSpbx/bin/cluster/monitor
#!/opt/VRTSvcs/bin/perl5

###############################################################
# This script monitors an PBX resource on a vcs cluster. 
# This is a basic test to prove that a connection can be established.
# The outline:
#  - check if pbx_exchange server is able to register a server.
#  - If yes, unregister the dummy server.
###############################################################

eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
  & eval 'exec perl -S $0 $argv:q'
  if 0;
#use strict;

my $Server;

# Get arguments by calling subroutine get_arg_list()
my @args = get_arg_list();
my ($vcs_home, $pbx_home, $arg3, $port_number, $is_windows, $separator) = @args;

my $vcs_home = $ENV{"VCS_HOME"} || $vcs_home ;
my $dir="$pbx_home$separator"."bin";

my $HALOG="$vcs_home$separator"."bin$separator"."halog";
my $command_string="";
if($^O=~/win/i)
{
      $ENV{'PATH'}="$pbx_home;$ENV{'PATH'}";
      $command_string = "\"$pbx_home\\bin\\monitor_server\" localhost $port_number pbx_monitor";
}
else
{
      if($^O=~/hp/i)
      {
	    $ENV{'SHLIB_PATH'}=$dir;
	    $ENV{'SHLIB_PATH'}.=":/opt/VRTSpbx/lib";
      }
      if($^O=~/aix/i)
      {
	    $ENV{'LIBPATH'}=$dir;
	    $ENV{'LIBPATH'}.=":/opt/VRTSpbx/lib";
      } elsif ($^O=~/Darwin/i) {
	    $ENV{'DYLD_LIBRARY_PATH'}=$dir;
	    $ENV{'DYLD_LIBRARY_PATH'}.=":/opt/VRTSpbx/lib";
      }
      else
      {
	    $ENV{'LD_LIBRARY_PATH'}=$dir;
	    $ENV{'LD_LIBRARY_PATH'}.=":/opt/VRTSpbx/lib";
      }
      $command_string = "/opt/VRTSpbx/bin/cluster/monitor_server localhost $port_number pbx_monitor";
}

my $retCode=system($command_string);


if ($retCode == 0)
{
    exit (110);
}
else
{
    print "PBX is not running !\n";
    exit(100);
}


###############################################################
# Get VCS Home, PBX Home, PBX Conf and port number arguments
# value from VCS.
###############################################################

sub get_arg_list {
my $arg;
my @argList =();
my $vcs_home = "/opt/VRTSvcs";
my $pbx_home = "/opt/VRTSpbx";
;
my $pbx_conf = "svc.conf";
my $port_number = 1556;
my $is_windows = 0;
my $separator = "/";

my $os = `ver`;
if ($os =~ /Windows/) {
	$is_windows = 1;
	$separator = "\\";
}

# first argument is resource name
shift(@ARGV);

for ($i=0;$i<=@ARGV;$i++) {
	if ( $ARGV[$i] =~ /pbx/i) {
	# extract pbx homepath
	   $pbx_home = $ARGV[$i];  	
	}
	elsif ($ARGV[$i] =~ /cluster/i) {
	# extract vcs homepath
	   $vcs_home = $ARGV[$i];  	
	}
	elsif ( $ARGV[$i] =~ /\w+/) { 
	   $port_number = $ARGV[$i];  		
	}
}

	push (@argList, $vcs_home);
	push (@argList, $pbx_home);
	push (@argList, $pbx_conf);
	push (@argList, $port_number);
	push (@argList, $is_windows);
	push (@argList, $separator);

	return @argList;
}