Sponsored Content
Top Forums UNIX for Dummies Questions & Answers Please help on "if" statement. Post 302759449 by chococrunch6 on Tuesday 22nd of January 2013 10:30:17 AM
Old 01-22-2013
thanks for clarification RudiC.

Actually there are only 6 log files which covers the whole day of logs( sometimes a combination of *gz and *Z files or all *gz files or all *Z files depending on the log size upon rotation).
Logs will be huge when (g)unzip, im afraid of having an FS issue by doing so i decided to use zcat | grep and gzgrep. Im sorry but im such a newbie and not so familiar with
"awk" command as you recommended.

Code:
Example logs on the archive:

/archive/2013-Jan-10$ 
        364M Jan 10 00:02 log.2013-Jan-10.00-00-50.Z
         75M Jan 10 04:00 log.2013-Jan-10.04-00-23.gz
         98M Jan 10 08:01 log.2013-Jan-10.08-00-32.gz
       174M Jan 10 12:02 log.2013-Jan-10.12-01-08.gz
        176M Jan 10 16:02 log.2013-Jan-10.16-01-23.gz
        354M Jan 10 20:02 log.2013-Jan-10.20-01-23.Z

/archive/2013-Jan-11$ 
        373M Jan 11 00:02 log.2013-Jan-11.00-00-53.Z
         83M Jan 11 04:01 log.2013-Jan-11.04-00-26.gz
        100M Jan 11 08:02 log.2013-Jan-11.08-00-31.gz
        344M Jan 11 12:02 log.2013-Jan-11.12-01-07.Z
        340M Jan 11 16:02 log.2013-Jan-11.16-01-23.Z
        362M Jan 11 20:02 log.2013-Jan-11.20-01-27.Z


/archive/2013-Jan-18$ 
        371M Jan 18 00:02 log.2013-Jan-18.00-00-52.Z
        91M Jan 18 04:01 log.2013-Jan-18.04-00-27.gz
        119M Jan 18 08:01 log.2013-Jan-18.08-00-31.gz
        154M Jan 18 12:02 log.2013-Jan-18.12-01-18.gz
         87M Jan 18 16:02 log.2013-Jan-18.16-01-40.gz
        105M Jan 18 20:02 log.2013-Jan-18.20-01-07.gz

The scripts will look like this:
Code:
date=`date +"%Y-%h-%d"`        
domainlist="4prd 5prd 6prd 7prd 8prd"
for domain in $domainlist
   do
     if [ -f /archive/$date/* ] ; then
                    # ^--- check if logs are present in the archive dir
        ls -l /archive/$date/* | grep Z
                    # ^--- check for *Z files
            if [ $? -eq 0 ] ; then
                zcat /archive/$date/*Z | grep "$domain" >> /archive/$date/$domain.txt
                    # ^--- grep "domain" for *Z files
                gzgrep "$domain" /archive/$date/*gz >> /archive/$date/$domain.txt
                    # ^--- grep "domain" for *gz files
                gzip -f /archive/$date/$domain.txt 
                  # ^--- archive has *Z files, perform the ff commands above, but the TIMESTAMP on the output file may sometimes won't be in order.
            else
                gzgrep "$domain" /archive/$date/*gz >> /archive/$date/$domain.txt
                gzip -f /archive/$date/$domain.txt
                # ^--- archive has no *Z files
            fi
        else
        echo ">>Logs not found, kindly check archive directory.."
     fi
  done

Kindly let me know if you have better solution for this. I would really appreciate your response. Thanks!

Regards,
Choco
 

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. Red Hat

"if" and "then" statement is not working in RedHat

Dear experts, I'm trying to write a script to calculate the usage of Log Archive in a directory, so if it gets to a point where the directory size is 60%, then send out an FYI.. email. So if then it reaches to 80%, move the logs from that directory. I have written the script as follow but... (10 Replies)
Discussion started by: Afi_Linux
10 Replies

3. Shell Programming and Scripting

What "-a" operator means in "if" statement

Hi I am trying to figure out what the following line does, I work in ksh88: ] && LIST="$big $LIST" Not sure what "-a" means in that case. Thanks a lot for any advice -A (1 Reply)
Discussion started by: aoussenko
1 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. UNIX for Dummies Questions & Answers

What is the meaning of "-s" option in "if" statement?

Hi Guys, I'm sorry but I can't find answer for this, what is the meaning of -s option in "if" statement on unix scipting. Please see sample below: opath=/home/output for i in N1 N2 N3 N4 do echo $i if then grep $i $opath/N5_CRAI > $opath/N5_$i.crai chmod 777 $opath/N5_$i.crai ... (7 Replies)
Discussion started by: rymnd_12345
7 Replies

6. Shell Programming and Scripting

"if" statement based off "grep"

Hello, I am somewhat new to Linux/Unix. I am currently working on a shell script that is suppose to cat a file, grep the same file for a certain line, if that line is found save the file in a different location, else remove the file. This is a rough example of what I want. $Dating = False... (13 Replies)
Discussion started by: Amzerik
13 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
elcsd.conf(5)							File Formats Manual						     elcsd.conf(5)

Name
       elcsd.conf - error logging configuration file

Description
       The  file  contains information used by the daemon to configure error logging for the system.  The system manager maintains this file.  The
       error logging daemon is dependent on the current order of the entries in the file.  Do not change the order.

       The information in the file shows any defaults and describes what you can enter.  A newline is used to delimit each entry in  the  file,  a
       null entry consists of a newline alone, and comments begin with #.
       #
       #    elcsd - errlog configuration file
       #

       {	   # delimiter DON'T remove or comment out!
       1	   # status 1-local,2-logrem,4-remlog,5-remlog+priloglocal
		   # errlog file size limit num. of blocks
       /usr/adm/syserr # errlog dir. path
		   # backup errlog dir. path
       /	   # single user errlog dir. path
       /usr/adm/syserr # log remote hosts errlog dir. path
		   # remote hostname to log to
       }	   # delimiter DON'T remove or comment out!
       #  hosts to log :S - separate file or :R - remotes file (together)
       remote1:S
       remote2:S
       #remote3:S	   # disabled
       remote4:S
	  .
	  .
	  .
       The status line of the file describes where you can log error packets, also called error messages:

	    Logs error packets locally =
		   1, the default.

	    Logs error packets from a remote system or systems to the local machine =
		   2.

	    Logs local and remote error packets locally =
		   3.

	    Logs error packets from the local system to a remote system =
		   4.

	    Logs error packets from the local system remotely and logs high
		   priority messages locally = 5.

       The  errorlog  file  size  defines  the	maximum size of an errorlog file.  If disk space is limited, you can specify the maximum number of
       blocks (512 bytes each) you want the errorlog file to be.  If you do not specify the maximum number of blocks, the system will  notify  you
       when the file system is 98% full.

       The  default  errorlog  directory path is You can direct error packets to a different directory; if you do, you must change the default for
       also. For further information, see

       If the error-logging daemon cannot write to the primary errorlog directory path, it attempts to log to the backup errorlog  directory  path
       automatically.

       The  root  directory  is  the default for the single-user errorlog directory path.  When the system makes the transition to multiuser mode,
       errors logged in single-user mode are transferred to the default errorlog directory path  You  can  direct  single-user	error  packets	to
       another directory.

       To log error packets from a remote system locally, set up an errorlog directory path on the local system.  The default is

       Errorlog  packets  from	remote systems can be logged to separate files or to one file.	S sets up a separate errorlog file for each remote
       system that logs locally.  R logs packets from the corresponding remote system to the file syserr.remotes.  The default is S.

Restrictions
       You must have superuser privileges to change the file.  However, anyone can view the file.

Files
       elcsd daemon messages

See Also
       elcsd(8), eli(8), uerf(8)
       Guide to the Error Logger System

																     elcsd.conf(5)
All times are GMT -4. The time now is 05:47 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy