Sponsored Content
Top Forums Shell Programming and Scripting Shell script to copy a log file if it exceeds 5000000 bytes Post 302484977 by m.d.ludwig on Monday 3rd of January 2011 10:04:19 PM
Old 01-03-2011
My proposed solution:
Code:
mark=$(date +%Y%m%d_%H%M%S)

cd /local/home

find */logs -maxdepth 1 \
            -type f \
            -size +5000000c \
            -name 'sw_warn.log' -o -name 'sw_error.log' -o -name 'eaijava.log'
            -print \
| while read file
do
    dir=$(dirname ${file})/${mark}

    if mkdir -p "${dir}"; then
        if cp -ip "${file} "${dir}"; then
            > "${file}"
        else
            echo "${file}": unable to copy to "${dir}" 1>&2
        fi
    else
        echo "${dir}": unable to create directory 1>&2
    fi
done

To be honest, if you are running the script once a day or week, then:
Code:
mark=$(date +%Y%m%d)

or even:
Code:
mark=$(date +%Y/%m%d)

would be more than sufficient.
But I have to admit the statement:
Quote:
Originally Posted by lookinginfo
Are there any disc space issues?
[me] no disc space issue.
bothers me. There are always disk space issues -- disks may be cheap, but no one has infinite disk space. IMHO, rotating the logfiles is "better", for it limits the total size of the logs to the number of rotations times 5M (plus or minus). Change the body of the while loop to:
Code:
    p=9

    for i in 8 7 6 5 4 3 2 1 0; do
        if [ -f "${file}.${i}" ]; then
            mv "${file}.${i}" "${file}.${p}"
        fi

        p="${i}"
    done

    if cp -ip "${file} "${file}.0"; then
        > "${file}"
    else
        echo "${file}": unable to rotate 1>&2
    fi

Run this version of the script once a week, and you will retain a minimum of ten weeks of logs.
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Shell script to calc sum of bytes used by files

I'm looking to create a Korn Shell script that, if given a directory as an arg, will calc bytes used by all files in the given directory and display that info. If no command line arg is given the program is to calc and display the bytes used by all the files in the pwd. Example output: ... (3 Replies)
Discussion started by: kecannon
3 Replies

2. Shell Programming and Scripting

Remove first N bytes and last N bytes from a binary file on AIX.

Hi all, Does anybody know or guide me on how to remove the first N bytes and the last N bytes from a binary file? Is there any AWK or SED or any command that I can use to achieve this? Your help is greatly appreciated!! Best Regards, Naveen. (1 Reply)
Discussion started by: naveendronavall
1 Replies

3. UNIX for Dummies Questions & Answers

Shell script to search for text in a file and copy file

Compete noob question.... I need a script to search through a directory and find files containing text string abcde1234 for example and then copy that file with that text string to another directory help please :eek: (9 Replies)
Discussion started by: imeadows
9 Replies

4. Shell Programming and Scripting

shell script to convert file_size from bytes to megabytes

Hi All, OS:AIX 64 bits. Requirement is to convert file_size from bytes to megabytes through shell script as below: export DBALIST="xyz@rediffmail.com" ls -ltr abcd.txt > file_size.result export file_size=`awk -F" " '{ print $5 }' file_size.result` if ] then mailx -s "File abcd.txt... (3 Replies)
Discussion started by: a1_win
3 Replies

5. Shell Programming and Scripting

Help with a shell script to modify one line and copy the next 9 to same file

Hi everyone, the problem is quite simple, yet I can't find an easy solution using awk. I need to search for a string in $3, then if I find this string, copy the line,modify $3, and copy the next 9 lines to the same file. My problem is in the copying of the lines... Finding and modifying... (5 Replies)
Discussion started by: Teroc
5 Replies

6. Shell Programming and Scripting

Shell Script - Copy File at intervals

Hi, I want to copy some files from a Folder say, /usr/X at random intervals to another location. Basically, new files will be dumped at random intervals to location /usr/X and I have to copy those new files to some other location (after copying, I cannot delete those files from source... (2 Replies)
Discussion started by: angshuman_ag
2 Replies

7. Shell Programming and Scripting

Shell script to copy file

Dear all, I have a database with thousands of files with the structure of name is: Filename_hour_year.abc Filename_hour_year_1.abc .............. So what I need is how to write a script that all file with contain the character "_1" will copy to "_2" For example: file name:... (7 Replies)
Discussion started by: hainguyen1402
7 Replies

8. Shell Programming and Scripting

shell script to remove all lines which exceeds a particular date & time

I have a text file which got 6th coloumn as date and 7th coloumn as time. The text contains data for last one week. I need to remove all the data whose date & time is after 03/08/2011 06:00:00 and save it on another file TEXT FILE ======== 6 dbclstr-b IXT_Web Memphis_Prod_SQL_Diff... (4 Replies)
Discussion started by: ajiwww
4 Replies

9. Shell Programming and Scripting

How to remove a file in shell script if its size exceeds limit?

How can i remove a file using shell script when its size exceeds 10MB. Given that file is located in different location to the shell script where it is running? (4 Replies)
Discussion started by: vel4ever
4 Replies

10. Shell Programming and Scripting

Shell script - entered input(1-40 bytes) needs to be converted exactly 40 bytes

hello, suppose, entered input is of 1-40 bytes, i need it to be converted to 40 bytes exactly. example: if i have entered my name anywhere between 1-40 i want it to be stored with 40 bytes exactly. enter your name: donald duck (this is of 11 bytes) expected is as below - display 11... (3 Replies)
Discussion started by: shravan.300
3 Replies
wbemlogviewer(1M)														 wbemlogviewer(1M)

NAME
wbemlogviewer - start WBEM Log Viewer SYNOPSIS
/usr/sadm/bin/wbemlogviewer The wbemlogviewer utility starts the WBEM Log Viewer graphical user interface, which enables administrators to view and maintain log records created by WBEM clients and providers. The WBEM Log Viewer displays a Login dialog box. You must log in as root or a user with write access to the rootcimv2 namespace to view and maintain log files. Namespaces are described in wbemadmin(1M). Log events can have three severity levels. o Errors o Warnings o Informational The WBEM log file is created in the /var/sadm/wbem/log directory, with the name wbem_log. The first time the log file is backed up, it is renamed wbem_log.1, and a new wbem_log file is created. Each succeeding time the wbem_log file is backed up, the file extension number of each backup log file is increased by 1, and the oldest backup log file is removed if the limit, which in turn is specified in the log ser- vice settings, on the number of logfiles is exceeded. Older backup files have higher file extension numbers than more recent backup files. The log file is renamed with a .1 file extension and saved when one of the following two conditions occur: o The current file reaches the specified file size limit. o A WBEM client application uses the clearLog() method in the Solaris_LogService class to clear the current log file. o A WBEM client application uses the clearLog() method in the Solaris_LogService class to clear the current log file. o A user chooses Action->Back Up Now in the Log Viewer application. Help is displayed in the left panel of each dialog box. Context help is not displayed in the main Log Viewer window. The WBEM Log Viewer is not the tool for a distributed environment. It is used for local administration. The WBEM Log Viewer allows you to perform the following tasks: View the logs Set properties of log fiClick Action->Log File Settings to specify log file parameters and the log file directory. Back up a log file Click Action->Back Up Now to back up and close the current log file and start a new log file. Open historical log fileClick Action->Open Log File to open a backed-up log file. Delete an old log file Open the file and then click Action->Delete Log File. You can only delete backed-up log files. View log record details Double-click a log entry or click View->Log Entry Details to display the details of a log record. Sort the logs Click View->Sort By to sort displayed entries. You can also click any column heading to sort the list. By default, the log entries are displayed in reverse chronological order (new logs first). EXIT STATUS
The wbemlogviewer utility terminates with exit status 0. /var/sadm/wbem/log/wbem_log WBEM log file See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Availability |SUNWwbcor | +-----------------------------+-----------------------------+ wbemadmin(1M), init.wbem(1M), mofcomp(1M), attributes(5) 3 Jan 2000 wbemlogviewer(1M)
All times are GMT -4. The time now is 07:18 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy