Sponsored Content
Top Forums UNIX for Advanced & Expert Users "Walk" apache installs and do a tar on them... Post 302635309 by Habitual on Friday 4th of May 2012 03:23:11 PM
Old 05-04-2012
"Walk" apache installs and do a tar on them...

Hello unix.com Community:

I need help with writing 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. In the real world, they could be anywhere.

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... Smilie

the "meat" of the code that I've hacked together and gets me most of the way there:
CentOS:
Code:
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:
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:
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:
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.
 

9 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Explain the line "mn_code=`env|grep "..mn"|awk -F"=" '{print $2}'`"

Hi Friends, Can any of you explain me about the below line of code? mn_code=`env|grep "..mn"|awk -F"=" '{print $2}'` Im not able to understand, what exactly it is doing :confused: Any help would be useful for me. Lokesha (4 Replies)
Discussion started by: Lokesha
4 Replies

2. Shell Programming and Scripting

cat $como_file | awk /^~/'{print $1","$2","$3","$4}' | sed -e 's/~//g'

hi All, cat file_name | awk /^~/'{print $1","$2","$3","$4}' | sed -e 's/~//g' Can this be done by using sed or awk alone (4 Replies)
Discussion started by: harshakusam
4 Replies

3. Shell Programming and Scripting

ps -ef | grep "string1" "string2" " "string3"

Hi all, can any one suggest me the script to grep multiple strings from ps -ef pls correct the below script . its not working/ i want to print OK if all the below process are running in my solaris system. else i want to print NOT OK. bash-3.00$ ps -ef | grep blu lscpusr 48 42 ... (11 Replies)
Discussion started by: steve2216
11 Replies

4. Shell Programming and Scripting

awk command to replace ";" with "|" and ""|" at diferent places in line of file

Hi, I have line in input file as below: 3G_CENTRAL;INDONESIA_(M)_TELKOMSEL;SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL My expected output for line in the file must be : "1-Radon1-cMOC_deg"|"LDIndex"|"3G_CENTRAL|INDONESIA_(M)_TELKOMSEL"|LAST|"SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL" Can someone... (7 Replies)
Discussion started by: shis100
7 Replies

5. Shell Programming and Scripting

how to use "cut" or "awk" or "sed" to remove a string

logs: "/home/abc/public_html/index.php" "/home/abc/public_html/index.php" "/home/xyz/public_html/index.php" "/home/xyz/public_html/index.php" "/home/xyz/public_html/index.php" how to use "cut" or "awk" or "sed" to get the following result: abc abc xyz xyz xyz (8 Replies)
Discussion started by: timmywong
8 Replies

6. Solaris

The slices "usr", "opt", "tmp" disappeared!!! Help please.

The system don't boot. on the screen appears following: press enter to maintenance (or type CTRL-D to continue)...I checked with format command. ... the slices "0-root","1-swap","2-backup" exist. ...the slises "3-var","6-usr" -unassigned. :( (16 Replies)
Discussion started by: wolfgang
16 Replies

7. UNIX for Dummies Questions & Answers

Using "mailx" command to read "to" and "cc" email addreses from input file

How to use "mailx" command to do e-mail reading the input file containing email address, where column 1 has name and column 2 containing “To” e-mail address and column 3 contains “cc” e-mail address to include with same email. Sample input file, email.txt Below is an sample code where... (2 Replies)
Discussion started by: asjaiswal
2 Replies

8. Shell Programming and Scripting

Bash script - Print an ascii file using specific font "Latin Modern Mono 12" "regular" "9"

Hello. System : opensuse leap 42.3 I have a bash script that build a text file. I would like the last command doing : print_cmd -o page-left=43 -o page-right=22 -o page-top=28 -o page-bottom=43 -o font=LatinModernMono12:regular:9 some_file.txt where : print_cmd ::= some printing... (1 Reply)
Discussion started by: jcdole
1 Replies

9. AIX

Apache 2.4 directory cannot display "Last modified" "Size" "Description"

Hi 2 all, i have had AIX 7.2 :/# /usr/IBMAHS/bin/apachectl -v Server version: Apache/2.4.12 (Unix) Server built: May 25 2015 04:58:27 :/#:/# /usr/IBMAHS/bin/apachectl -M Loaded Modules: core_module (static) so_module (static) http_module (static) mpm_worker_module (static) ... (3 Replies)
Discussion started by: penchev
3 Replies
GPT-INSTALL(8)						User Contributed Perl Documentation					    GPT-INSTALL(8)

NAME
gpt-install - Installs GPT packages. SYNOPSIS
gpt-install [options] [packages or bundles] Options: -verbose Print copious output -help Print usage -man Print man page. -version Print GPT version. -force Replace package no matter what. -loose Replace a broader range of packages. -installdir=PATH Override $GLOBUS_LOCATION. -tmpdir=PATH Path to tmp disk space [packages or bundles] List of binary packages and bundles to install. DESCRIPTION
gpt-install takes a GPT described package or bundle and installs it. The program can install either RPM's or GPT packages. OPTIONS
-force forces all action to be taken, regardless of state. -tmpdir Place to unpack bundles. -installdir Directory to which files shall be written. Default is $GLOBUS_LOCATION -loose pgm packages can replace a pgm_static package (and vice versa) or a pgm package with a different flavor. -help Print a brief help message and exits. -man Prints the manual page and exits. -version Prints the version of GPT and exits. EXAMPLES
For the command: gpt-install foo-2.1-gcc32-pgm.tar.gz foo-1.1-gcc32-pgm will be replaced. foo-2.2-gcc32-pgm will B<not> be replaced. It is newer. foo-1.1-vendorcc32-pgm will B<not> be replaced. Wrong flavor. foo-1.1-gcc32-pgm_static will B<not> be replaced. Wrong package type foo-2.2-gcc32-pgm_static will B<not> be replaced. Wrong package type For the command: gpt-install -force foo-2.1-gcc32-pgm.tar.gz foo-1.1-gcc32-pgm will be replaced. foo-2.2-gcc32-pgm will be replaced. foo-1.1-vendorcc32-pgm will B<not> be replaced. Wrong flavor foo-1.1-gcc32-pgm_static will B<not> be replaced. Wrong package type foo-2.2-gcc32-pgm_static will B<not> be replaced. Wrong package type For the command: gpt-install -loose foo-2.1-gcc32-pgm.tar.gz foo-1.1-gcc32-pgm will be replaced. foo-2.2-gcc32-pgm will B<not> be replaced. It is newer. foo-1.1-vendorcc32-pgm will be replaced. foo-1.1-gcc32-pgm_static will be replaced. foo-2.2-gcc32-pgm_static will B<not> be replaced. It is newer. For the command: gpt-install -force -loose foo-2.1-gcc32-pgm.tar.gz foo-1.1-gcc32-pgm will be replaced. foo-2.2-gcc32-pgm will be replaced. foo-1.1-vendorcc32-pgm will be replaced. foo-1.1-gcc32-pgm_static will be replaced. foo-2.2-gcc32-pgm_static will be replaced. BUGS
gpt-install currently does not honor static build numbers. Instead it will replace any pgm_static package that is the same version or older. For example: gpt-install -force foo-2.1-2-gcc32-pgm_static.tar.gz foo-1.1-5-gcc32-pgm_static will be replaced. foo-2.1-1-gcc32-pgm_static will be replaced. foo-2.1-5-gcc32-pgm_static will be replaced. foo-2.2-1-gcc32-pgm_static will not be replaced. foo-2.1-gcc32-pgm will not be replaced. SEE ALSO
gpt-uninstall(1) gpt-query(1) gpt-verify(1) AUTHOR
Michael Bletzinger <mbletzin.ncsa.uiuc.edu> and Eric Blau <eblau.ncsa.uiuc.edu> perl v5.14.2 2012-04-30 GPT-INSTALL(8)
All times are GMT -4. The time now is 08:00 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy