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/offline
#!/opt/VRTSvcs/bin/perl5

#####################################################################
# This script stops an PBX resource on a VCS cluster
# The outline:
#  - check if pbx_exchange server is running
#  - If yes, get it's pid. To stop that process use "kill pid" 
#####################################################################

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

# Get arguments by calling subroutine get_arg_list()
my $arg1;

my @args = get_arg_list();
my ($vcs_home, $pbx_home, $pbx_conf, $port_number, $is_windows, $separator) = @args;

$arg1=$vcs_home;

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

my $command_string="";
my $retcode;
print "PBX::offline called \n";
if($^O=~/win/i)
{
      $ENV{'PATH'}="$pbx_home;$ENV{'PATH'}";
	$command_string = "net stop VRTSpbx";
		$retcode = system($command_string);
}
else
{
		`/opt/VRTSpbx/bin/vxpbx_exchanged stopincluster`;
		$retcode=$?;
}

if ($retcode == 0)
{
	print "PBX instance is killed \n";
	exit (10);
}
else
{
	print "No any PBX instance is running";
	exit(0);
}
############################################################### 
# 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`; 

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

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

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; 
}