#!/usr/bin/perl # loncaparestoreconfigurations # This tool helps in updating a system. It takes a list of # .rpmsave files and restores them. # Scott Harrison, 10/25/2000 use strict; my @special_conf_files=( "/etc/httpd/conf/access.conf" ); my @generic_conf_files=( "/home/httpd/lonTabs/hosts.tab", "/home/httpd/lonTabs/spare.tab", "/etc/krb.conf", "/etc/ntp.conf" ); foreach (@special_conf_files) { if (/^\/etc\/httpd\/conf\/access.conf$/) { my $template=`/bin/cat /etc/httpd/conf/access.conf`; my $rpmsave=`/bin/cat /etc/httpd/conf/access.conf.rpmsave`; `/bin/mv /etc/httpd/conf/access.conf /etc/httpd/conf/access.conf.template`; my @perlsetvars=("lonHostID","lonRole","lonAdmEMail","lonDefDomain","lonLoadLim","lonExpire"); foreach my $psv (@perlsetvars) { $rpmsave=~/\nPerlSetVar\s+$psv\s+(\S+)/; my $pval=$1; $template=~s/(\nPerlSetVar\s+$psv\s+)\S+/$1$pval/; } open OUT,">/etc/httpd/conf/access.conf"; print OUT $template; close OUT; } } foreach (@generic_conf_files) { if (-e "$_.rpmsave") { `/bin/mv $_ $_.template`; `/bin/mv $_.rpmsave $_`; } }