version 1.103.2.3, 2019/07/07 15:47:40
|
version 1.103.2.6, 2020/01/11 22:39:55
|
Line 506 sub clean_lonIDs {
|
Line 506 sub clean_lonIDs {
|
&log($fh,"<h3>$active open session(s)</h3>"); |
&log($fh,"<h3>$active open session(s)</h3>"); |
} |
} |
|
|
|
# -------------------------------------------------------- clean out balanceIDs |
|
|
|
sub clean_balanceIDs { |
|
my ($fh)=@_; |
|
&log($fh,'<hr /><a name="balcookies" /><h2>Session Tokens</h2>'); |
|
my $cleaned=0; |
|
my $active=0; |
|
if (-d $perlvar{'lonBalanceDir'}) { |
|
while (my $fname=<$perlvar{'balanceDir'}/*.id>) { |
|
my ($dev,$ino,$mode,$nlink, |
|
$uid,$gid,$rdev,$size, |
|
$atime,$mtime,$ctime, |
|
$blksize,$blocks)=stat($fname); |
|
my $now=time; |
|
my $since=$now-$mtime; |
|
if ($since>$perlvar{'lonExpire'}) { |
|
$cleaned++; |
|
&log($fh,"Unlinking $fname<br />"); |
|
unlink("$fname"); |
|
} else { |
|
$active++; |
|
} |
|
} |
|
} |
|
&log($fh,"<p>Cleaned up ".$cleaned." stale balancer files</p>"); |
|
&log($fh,"<h3>$active unexpired balancer files</h3>"); |
|
} |
|
|
# ------------------------------------------------ clean out webDAV Session IDs |
# ------------------------------------------------ clean out webDAV Session IDs |
sub clean_webDAV_sessionIDs { |
sub clean_webDAV_sessionIDs { |
my ($fh)=@_; |
my ($fh)=@_; |
Line 865 sub write_hostips {
|
Line 893 sub write_hostips {
|
if (keys(%prevhosts) && keys(%currhosts)) { |
if (keys(%prevhosts) && keys(%currhosts)) { |
foreach my $key (keys(%prevhosts)) { |
foreach my $key (keys(%prevhosts)) { |
unless ($currhosts{$key} eq $prevhosts{$key}) { |
unless ($currhosts{$key} eq $prevhosts{$key}) { |
$ipchange{$key} = $prevhosts{$key}.'|'.$currhosts{$key}; |
$ipchange{$key} = $prevhosts{$key}.' | '.$currhosts{$key}; |
} |
} |
} |
} |
foreach my $key (keys(%currhosts)) { |
foreach my $key (keys(%currhosts)) { |
Line 878 sub write_hostips {
|
Line 906 sub write_hostips {
|
if (keys(%ipchange)) { |
if (keys(%ipchange)) { |
if (open(my $fh,'>>',$perlvar{'lonDaemons'}.'/logs/hostip.log')) { |
if (open(my $fh,'>>',$perlvar{'lonDaemons'}.'/logs/hostip.log')) { |
print $fh "********************\n".localtime(time).' Changes --'."\n". |
print $fh "********************\n".localtime(time).' Changes --'."\n". |
"Hostname | Previous IP | New IP\n". |
"| Hostname | Previous IP | New IP |\n". |
"--------------------------------\n"; |
" --------------------------------- \n"; |
foreach my $hostname (sort(keys(%ipchange))) { |
foreach my $hostname (sort(keys(%ipchange))) { |
print $fh "$hostname | $ipchange{$hostname}\n"; |
print $fh "| $hostname | $ipchange{$hostname} |\n"; |
} |
} |
print $fh "\n*******************\n\n"; |
print $fh "\n*******************\n\n"; |
close($fh); |
close($fh); |
Line 896 sub write_hostips {
|
Line 924 sub write_hostips {
|
"MIME-Version: 1.0\n\n". |
"MIME-Version: 1.0\n\n". |
"Host/IP changes\n". |
"Host/IP changes\n". |
" \n". |
" \n". |
"Hostname | Previous IP | New IP\n". |
"| Hostname | Previous IP | New IP |\n". |
"--------------------------------\n"; |
" --------------------------------- \n"; |
foreach my $hostname (sort(keys(%ipchange))) { |
foreach my $hostname (sort(keys(%ipchange))) { |
$chgmail .= "$hostname | $ipchange{$hostname}\n"; |
$chgmail .= "| $hostname | $ipchange{$hostname} |\n"; |
} |
} |
$chgmail .= "\n\n"; |
$chgmail .= "\n\n"; |
if (open(my $mailh, "|/usr/lib/sendmail -oi -t -odb")) { |
if (open(my $mailh, "|/usr/lib/sendmail -oi -t -odb")) { |
Line 971 Options:
|
Line 999 Options:
|
do not send emails do not |
do not send emails do not |
check if the daemons are running, do not |
check if the daemons are running, do not |
generate lon-status |
generate lon-status |
|
--justiptables Only update the dynamic iptables rules for the |
|
lond port; do not send emails, do not |
|
check if the daemons are running, do not |
|
generate lon-status |
USAGE |
USAGE |
} |
} |
|
|
# ================================================================ Main Program |
# ================================================================ Main Program |
sub main () { |
sub main () { |
my ($help,$justcheckdaemons,$noemail,$justcheckconnections, |
my ($help,$justcheckdaemons,$noemail,$justcheckconnections, |
$justreload); |
$justreload,$justiptables); |
&GetOptions("help" => \$help, |
&GetOptions("help" => \$help, |
"justcheckdaemons" => \$justcheckdaemons, |
"justcheckdaemons" => \$justcheckdaemons, |
"noemail" => \$noemail, |
"noemail" => \$noemail, |
"justcheckconnections" => \$justcheckconnections, |
"justcheckconnections" => \$justcheckconnections, |
"justreload" => \$justreload |
"justreload" => \$justreload, |
|
"justiptables" => \$justiptables |
); |
); |
if ($help) { &usage(); return; } |
if ($help) { &usage(); return; } |
# --------------------------------- Read loncapa_apache.conf and loncapa.conf |
# --------------------------------- Read loncapa_apache.conf and loncapa.conf |
Line 1033 sub main () {
|
Line 1065 sub main () {
|
} |
} |
} |
} |
} |
} |
&Apache::lonnet::load_hosts_tab(1,$nomemcache); |
if (!$justiptables) { |
&Apache::lonnet::load_domain_tab(1,$nomemcache); |
&Apache::lonnet::load_hosts_tab(1,$nomemcache); |
&Apache::lonnet::get_iphost(1,$nomemcache); |
&Apache::lonnet::load_domain_tab(1,$nomemcache); |
|
&Apache::lonnet::get_iphost(1,$nomemcache); |
|
} |
|
|
# ----------------------------------------- Force firewall update for lond port |
# ----------------------------------------- Force firewall update for lond port |
|
|
Line 1066 sub main () {
|
Line 1100 sub main () {
|
|
|
|
|
my $fh; |
my $fh; |
if (!$justcheckdaemons && !$justcheckconnections && !$justreload) { |
if (!$justcheckdaemons && !$justcheckconnections && !$justreload && !$justiptables) { |
$fh=&start_logging(); |
$fh=&start_logging(); |
|
|
&log_machine_info($fh); |
&log_machine_info($fh); |
&clean_tmp($fh); |
&clean_tmp($fh); |
&clean_lonIDs($fh); |
&clean_lonIDs($fh); |
|
&clean_balanceIDs($fh); |
&clean_webDAV_sessionIDs($fh); |
&clean_webDAV_sessionIDs($fh); |
&check_httpd_logs($fh); |
&check_httpd_logs($fh); |
&rotate_lonnet_logs($fh); |
&rotate_lonnet_logs($fh); |
&rotate_other_logs($fh); |
&rotate_other_logs($fh); |
} |
} |
if (!$justcheckconnections && !$justreload) { |
if (!$justcheckconnections && !$justreload && !$justiptables) { |
&checkon_daemon($fh,'lonmemcached',40000); |
&checkon_daemon($fh,'lonmemcached',40000); |
&checkon_daemon($fh,'lonsql',200000); |
&checkon_daemon($fh,'lonsql',200000); |
if ( &checkon_daemon($fh,'lond',40000,'USR1') eq 'running') { |
if ( &checkon_daemon($fh,'lond',40000,'USR1') eq 'running') { |
Line 1094 sub main () {
|
Line 1129 sub main () {
|
if ($justcheckconnections) { |
if ($justcheckconnections) { |
&test_connections($fh); |
&test_connections($fh); |
} |
} |
if (!$justcheckdaemons && !$justcheckconnections && !$justreload) { |
if (!$justcheckdaemons && !$justcheckconnections && !$justreload && !$justiptables) { |
&check_delayed_msg($fh); |
&check_delayed_msg($fh); |
&finish_logging($fh); |
&finish_logging($fh); |
&log_simplestatus(); |
&log_simplestatus(); |