version 1.472, 2011/05/13 02:58:02
|
version 1.474, 2011/05/14 16:12:53
|
Line 421 sub ReadManagerTable {
|
Line 421 sub ReadManagerTable {
|
|
|
my $tablename = $perlvar{'lonTabDir'}."/managers.tab"; |
my $tablename = $perlvar{'lonTabDir'}."/managers.tab"; |
if (!open (MANAGERS, $tablename)) { |
if (!open (MANAGERS, $tablename)) { |
if (&loncapa_dns_server()) { |
my $hostname = &Apache::lonnet::hostname($perlvar{'lonHostID'}); |
|
if (&Apache::lonnet::is_LC_dns($hostname)) { |
&logthis('<font color="red">No manager table. Nobody can manage!!</font>'); |
&logthis('<font color="red">No manager table. Nobody can manage!!</font>'); |
} |
} |
return; |
return; |
Line 677 sub PushFile {
|
Line 678 sub PushFile {
|
return "error:$!"; |
return "error:$!"; |
} else { |
} else { |
&logthis('<font color="green"> Installed new '.$tablefile |
&logthis('<font color="green"> Installed new '.$tablefile |
."</font>"); |
." - transaction by: $clientname ($clientip)</font>"); |
my $adminmail = $perlvar{'lonAdmEMail'}; |
my $adminmail = $perlvar{'lonAdmEMail'}; |
my $admindom = &Apache::lonnet::host_domain($perlvar{'lonHostID'}); |
my $admindom = &Apache::lonnet::host_domain($perlvar{'lonHostID'}); |
if ($admindom ne '') { |
if ($admindom ne '') { |
Line 691 sub PushFile {
|
Line 692 sub PushFile {
|
} |
} |
if ($adminmail =~ /^[^\@]+\@[^\@]+$/) { |
if ($adminmail =~ /^[^\@]+\@[^\@]+$/) { |
my $msg = new Mail::Send; |
my $msg = new Mail::Send; |
my $senderaddress = $perlvar{'lonSysEMail'}; |
|
$msg->to($adminmail); |
$msg->to($adminmail); |
$msg->subject('LON-CAPA DNS update on '.$perlvar{'lonHostID'}); |
$msg->subject('LON-CAPA DNS update on '.$perlvar{'lonHostID'}); |
if ($senderaddress) { |
|
$msg->add('From',$senderaddress); |
|
} |
|
$msg->add('Content-type','text/plain; charset=UTF-8'); |
$msg->add('Content-type','text/plain; charset=UTF-8'); |
if (my $fh = $msg->open()) { |
if (my $fh = $msg->open()) { |
print $fh 'Update to '.$tablefile.' from Cluster Manager '. |
print $fh 'Update to '.$tablefile.' from Cluster Manager '. |
$client."\n"; |
"$clientname ($clientip)\n"; |
$fh->close; |
$fh->close; |
} |
} |
} |
} |
Line 712 sub PushFile {
|
Line 709 sub PushFile {
|
|
|
} |
} |
|
|
sub loncapa_dns_server { |
|
my $lonhost = &Apache::lonnet::get_host_ip($perlvar{'lonHostID'}); |
|
my $hoststable = "$perlvar{'lonTabDir'}/hosts.tab"; |
|
my $is_dns_server; |
|
if (!open(HOSTS,"<$hoststable")) { |
|
&logthis('<font color="yellow">Could not open hosts.tab to check for LON-CAPA DNS servers.</font>'); |
|
while (my $host = <HOSTS>) { |
|
chomp($host); |
|
$host =~ s/(^\s+|\s+$)//g; |
|
if ($host =~ /^\Q^$lonhost\E/) { |
|
$is_dns_server = 1; |
|
last; |
|
} |
|
} |
|
close(HOSTS); |
|
} |
|
return $is_dns_server; |
|
} |
|
|
|
# |
# |
# Called to re-init either lonc or lond. |
# Called to re-init either lonc or lond. |
# |
# |
Line 6114 sub HUPSMAN { # sig
|
Line 6092 sub HUPSMAN { # sig
|
# a setuid perl script that can be root for us to do this job. |
# a setuid perl script that can be root for us to do this job. |
# |
# |
sub ReloadApache { |
sub ReloadApache { |
my $execdir = $perlvar{'lonDaemons'}; |
# --------------------------- Handle case of another apachereload process (locking) |
my $script = $execdir."/apachereload"; |
if (&LONCAPA::try_to_lock('/tmp/lock_apachereload')) { |
system($script); |
my $execdir = $perlvar{'lonDaemons'}; |
|
my $script = $execdir."/apachereload"; |
|
system($script); |
|
unlink('/tmp/lock_apachereload'); # Remove the lock file. |
|
} |
} |
} |
|
|
# |
# |