Me again, this time with a new challenge...
Write a "common" script that can get the httpd installs by name and install directory|ies and tar.gz them up by name and point that tar operation to the matching install directory.
I have 2 Distros that I am concerned with for this task: CentOS and Ubuntu.
Here's the facts that I've managed to collect so far:
CentOS stores http installs in either /etc/httpd/conf.d/*.conf and/or in /etc/httpd/conf/*conf files.
Ubuntu stores http installs in /etc/apache2/*.conf and/or /etc/apache2/conf.d/*.conf files.
I started off with my old favorite "bash" but am having trouble with duplicates in the output.
I thought of perl, something I know nothing about but know there are 1000s of examples/demos/tuts on the net. Maybe later...
the "meat" of the code that I've hacked together and gets me most of the way there:
CentOS:
Code: Select all
grep -h "Alias /" /etc/httpd/conf.d /etc/httpd/conf/ -R | egrep -v "home|ScriptAlias|#|doc|error|icons|javascript"
Alias /zabbix /usr/local/share/zabbix
Ubuntu:
Code: Select all
grep -h "Alias /" /etc/apache2/*.conf /etc/apache2/conf.d/*.conf -R | egrep -v "home|ScriptAlias|#|doc|error|icons|javascript"
Alias /cacti2 /var/www/cacti2
Alias /icinga "/usr/local/icinga/share/"
What I NEED is Field2 to be the "$APACHEPROG" variable (stripping the '/' in position #2) of course) and Field3 to be the "$APACHEPROGPATH" (stripping the quotes, if any?) for
Code: Select all
tar -pczf "$APACHEPROG".tar.gz "$APACHEPROGPATH"
Code: Select all
grep -iq "CentOS" /proc/version
if [ $? = '0' ];then
OS="CentOS"
do CentOS stuff
else
OS="Ubuntu"
do Ubuntu stuff
fi
Any help would surely be appreciated.
I will of course post the solution on Bourne to raise $shell with credit to the contributor.
Thank you all for your time.
Edit: Cross-posted here