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

Forum rules
Before you post please read how to get help
Post Reply
Level 13
Level 13
Posts: 4870
Joined: Sun Nov 21, 2010 8:31 pm

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

Post by Habitual » 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:

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


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
do CentOS stuff
do Ubuntu stuff
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.

Post Reply

Return to “Scripts & Bash”