1: #!/usr/bin/perl
2: # The LearningOnline Network with CAPA
3: #
4: # lonManage supports remote management of nodes in a LonCAPA cluster.
5: #
6: # $Id: lonManage,v 1.3 2003/08/12 10:22:35 foxr Exp $
7: #
8: # $Id: lonManage,v 1.3 2003/08/12 10:22:35 foxr Exp $
9: #
10: # Copyright Michigan State University Board of Trustees
11: #
12: # This file is part of the LearningOnline Network with CAPA (LON-CAPA).
13: ## LON-CAPA is free software; you can redistribute it and/or modify
14: # it under the terms of the GNU General Public License as published by
15: # the Free Software Foundation; either version 2 of the License, or
16: # (at your option) any later version.
17: #
18: # LON-CAPA is distributed in the hope that it will be useful,
19: # but WITHOUT ANY WARRANTY; without even the implied warranty of
20: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21: # GNU General Public License for more details.
22: #
23: # You should have received a copy of the GNU General Public License
24: # along with LON-CAPA; if not, write to the Free Software
25: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
26: #
27: # /home/httpd/html/adm/gpl.txt
28: #
29: # http://www.lon-capa.org/
30: #
31: #
32: # lonManage supports management of remot nodes in a lonCAPA cluster.
33: # it is a command line tool. The following command line syntax (usage)
34: # is supported:
35: #
36: # lonManage -push <tablename> newfile host
37: # Push <tablename> to the lonTabs directory. Note that
38: # <tablename> must be one of:
39: # hosts (hosts.tab)
40: # domain (domain.tab)
41: #
42: # lonManage -reinit lonc host
43: # Sends a HUP signal to the remote systems's lond.
44: #
45: # lonmanage -reinit lond host
46: # Requests the remote system's lond perform the same action as if
47: # it had received a HUP signal.
48: #
49: # In the above syntax, the host above is the hosts.tab name of a host,
50: # not the IP address of the host.
51: #
52: # $Log: lonManage,v $
53: # Revision 1.3 2003/08/12 10:22:35 foxr
54: # Put in parameter parsing infrastructure
55: #
56: # Revision 1.2 2003/08/12 09:58:49 foxr
57: # Add usage and skeleton documentation.
58: #
59: #
60: use Getopt::Long;
61:
62: sub Usage {
63: print "Usage:";
64: print <<USAGE;
65: lonManage --push=<tablename> newfile host
66: Push <tablename> to the lonTabs directory. Note that
67: <tablename> must be one of:
68: hosts (hosts.tab)
69: domain (domain.tab)
70:
71: lonManage --reinit=lonc host
72: Sends a HUP signal to the remote systems's lond.
73:
74: lonmanage --reinit=lond host
75: Requests the remote system's lond perform the same action as if
76: it had received a HUP signal.
77:
78: In the above syntax, the host above is the hosts.tab name of a host,
79: not the IP address of the host.
80: USAGE
81:
82:
83: }
84:
85: #
86: # Use Getopt::Long to parse the parameters of the program.
87: #
88: # Return value is a list consisting of:
89: # A 'command' which is one of:
90: # push - table push requested.
91: # reinit - reinit requested.
92: # Additional parameters as follows:
93: # for push: Tablename, hostname
94: # for reinit: Appname hostname
95: #
96: # This function does not validation of the parameters of push and
97: # reinit.
98: # returns an empty list if the parse fails.
99: #
100:
101: sub ParseArgs {
102: return ();
103: }
104:
105: #
106: # If command parsing failed, then print usage:
107:
108: @status = ParseArgs;=
109: $nparam = @status;
110:
111: if($nparam == 0) {
112: Usage;
113: }
114:
115: =head1 NAME
116: lonManage - Command line utility for remote management of lonCAPA
117: cluster nodes.
118:
119: =head1 SYNOPSIS
120:
121: Usage:
122: B<lonManage --push=<tablename> newfile host>
123: Push <tablename> to the lonTabs directory. Note that
124: <tablename> must be one of:
125: hosts (hosts.tab)
126: domain (domain.tab)
127:
128: B<lonManage --reinit=lonc host>
129: Sends a HUP signal to the remote systems's lond.
130:
131: B<lonmanage --reinit=lond host>
132: Requests the remote system's lond perform the same action as if
133: it had received a HUP signal.
134:
135: In the above syntax, the host above is the hosts.tab name of a host,
136: not the IP address of the host.
137:
138:
139: =head1 DESCRIPTION
140:
141: =head1 PREREQUISITES
142:
143: =item Getopt::Long
144:
145: =head1 CATEGORIES
146: Command line utility
147:
148: =cut
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>