[SOLVED]REQ: Help with Walk apache installs and tar

Forum rules
Before you post please read how to get help

[SOLVED]REQ: Help with Walk apache installs and tar

Postby Habitual on Fri May 04, 2012 10:37 am

Hello LM Community:

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"
and that spits out
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"
and spits out
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"


I have a generic bash script that can 'read' the OS (either Ubuntu or CentOS) and do stuff accordingly:
Code: Select all
grep -iq "CentOS" /proc/version
if [ $? = '0' ];then
OS="CentOS"
do CentOS stuff
else
OS="Ubuntu"
do Ubuntu stuff
fi

It still needs work (error handling if NOT CentOS or Ubuntu) and some logging feature, but I'd like to get this step working first.

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
Last edited by Habitual on Mon May 07, 2012 11:50 am, edited 1 time in total.
What's a landing but a take off in reverse?
User avatar
Habitual
Level 8
Level 8
 
Posts: 2274
Joined: Sun Nov 21, 2010 8:31 pm
Location: LM17Q-Xfce

Linux Mint is funded by ads and donations.
 

Return to Scripts & Bash

Who is online

Users browsing this forum: No registered users and 2 guests