version 1.1, 2003/08/12 09:46:27
|
version 1.4, 2003/08/12 10:40:44
|
Line 49
|
Line 49
|
# In the above syntax, the host above is the hosts.tab name of a host, |
# In the above syntax, the host above is the hosts.tab name of a host, |
# not the IP address of the host. |
# not the IP address of the host. |
# |
# |
|
# $Log$ |
|
# Revision 1.4 2003/08/12 10:40:44 foxr |
|
# Get switch parsing right. |
|
# |
|
# Revision 1.3 2003/08/12 10:22:35 foxr |
|
# Put in parameter parsing infrastructure |
|
# |
|
# Revision 1.2 2003/08/12 09:58:49 foxr |
|
# Add usage and skeleton documentation. |
|
# |
|
# |
|
use Getopt::Long; |
|
|
|
sub Usage { |
|
print "Usage:"; |
|
print <<USAGE; |
|
lonManage --push=<tablename> newfile host |
|
Push <tablename> to the lonTabs directory. Note that |
|
<tablename> must be one of: |
|
hosts (hosts.tab) |
|
domain (domain.tab) |
|
|
|
lonManage --reinit=lonc host |
|
Sends a HUP signal to the remote systems's lond. |
|
|
|
lonmanage --reinit=lond host |
|
Requests the remote system's lond perform the same action as if |
|
it had received a HUP signal. |
|
|
|
In the above syntax, the host above is the hosts.tab name of a host, |
|
not the IP address of the host. |
|
USAGE |
|
|
|
|
|
} |
|
|
|
# |
|
# Use Getopt::Long to parse the parameters of the program. |
|
# |
|
# Return value is a list consisting of: |
|
# A 'command' which is one of: |
|
# push - table push requested. |
|
# reinit - reinit requested. |
|
# Additional parameters as follows: |
|
# for push: Tablename, hostname |
|
# for reinit: Appname hostname |
|
# |
|
# This function does not validation of the parameters of push and |
|
# reinit. |
|
# |
|
# returns a list. The first element of the list is the operation name |
|
# (e.g. reinit or push). The second element is the switch parameter. |
|
# for push, this is the table name, for reinit, this is the process name. |
|
# Additional elements of the list are the command argument. The count of |
|
# command arguments is validated, but not their semantics. |
|
# |
|
# returns an empty list if the parse fails. |
|
# |
|
|
|
sub ParseArgs { |
|
my $pushing = ''; |
|
my $reiniting = ''; |
|
if(!GetOptions('push=s' => \$pushing, |
|
'reinit=s' => \$reinitting)) { |
|
return (); |
|
} |
|
|
|
# Require exactly one of --push and --reinit |
|
|
|
my $command = ''; |
|
my $commandarg = ''; |
|
if($pushing ne '') { |
|
if($command ne '') { |
|
return (); |
|
} else { |
|
$command = 'push'; |
|
$commandarg = $pushing; |
|
} |
|
} |
|
if ($reinitting ne '') { |
|
if($command ne '') { |
|
return (); |
|
} else { |
|
$command = 'reinit'; |
|
$commandarg = $reinitting; |
|
} |
|
} |
|
|
|
return ($command, $commandarg); |
|
} |
|
|
|
# |
|
# If command parsing failed, then print usage: |
|
|
|
@status = ParseArgs; |
|
$nparam = @status; |
|
|
|
if($nparam == 0) { |
|
Usage; |
|
exit -1; |
|
} |
|
print "Will do a $status[0] : $status[1]\n"; |
|
|
|
exit 0; |
|
|
|
=head1 NAME |
|
lonManage - Command line utility for remote management of lonCAPA |
|
cluster nodes. |
|
|
|
=head1 SYNOPSIS |
|
|
|
Usage: |
|
B<lonManage --push=<tablename> newfile host> |
|
Push <tablename> to the lonTabs directory. Note that |
|
<tablename> must be one of: |
|
hosts (hosts.tab) |
|
domain (domain.tab) |
|
|
|
B<lonManage --reinit=lonc host> |
|
Sends a HUP signal to the remote systems's lond. |
|
|
|
B<lonmanage --reinit=lond host> |
|
Requests the remote system's lond perform the same action as if |
|
it had received a HUP signal. |
|
|
|
In the above syntax, the host above is the hosts.tab name of a host, |
|
not the IP address of the host. |
|
|
|
|
|
=head1 DESCRIPTION |
|
|
|
=head1 PREREQUISITES |
|
|
|
=item Getopt::Long |
|
|
|
=head1 CATEGORIES |
|
Command line utility |
|
|
|
=cut |