Sponsored Content
Operating Systems Linux Red Hat Need Script to ZIP/SAVE & then DELETE Log file & DELETE ZIPS older than 12 months Post 302742627 by Corona688 on Tuesday 11th of December 2012 10:57:54 AM
Old 12-11-2012
If you're only putting one file in each zip, there's no point using old-fashioned pkware pkzip, you might as well use a stream compressor like gzip. gzip will also delete the file by itself if it succeeds (and not if it fails).

You don't need to use $?, you can put the command directly into the if-statement.

I'm also not convinced your || && chain does precisely what you want, I'd make it an if.

This should match any log files ending in a dot then a few numbers, and avoid already-compressed logs.

Code:
#!/bin/bash
cd /usr/iplanet/servers/https-company/logs
# keep today's log files as text
find . -name '*.[0-9]*' '!' -name '*.gz' -mtime +1 -type f |
while read fname
do
    if ! gzip "$fname"
    then
        echo "fatal error compressing log $fname" | /bin/mail -s 'Log Error' zachs@domain.com
        exit 1
   fi
done

# delete old zip files after one year
find . -type f -name '*.gz' -mtime +365 | 
while read fname 
do
        if ! rm $fname
        then
                echo "fatal error $fname" | /bin/mail -s 'Log Error' zachs@domain.com
                exit 1
        fi
done
# good exit
echo "log maintenance completed" | /bin/mail -s 'Logs ok' zachs@domain.com
exit 0

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Overwrite & Delete in Text File

Dear All, I have text file like this: Header Record 1 Record 2 ....... Record n Tail This line of code : awk '{ if ( NR == 1 ) { head=substr($0,1,300);} else { last = substr($0,1,300);}END{printf "Header is : %-300s Trailer is : %-300s\n", head, last}' filename converted Header... (11 Replies)
Discussion started by: 33junaid
11 Replies

2. UNIX for Advanced & Expert Users

how to archive logs older than 5 days & then delete them?

My code is tar -cvf logs.tar `find /usr/openv/logs/512*.log -mtime +2` && find *.log* -mtime +2 -exec rm {} \; this gives me output as: tar: Missing filenames:confused: (1 Reply)
Discussion started by: timus1980
1 Replies

3. Shell Programming and Scripting

Delete files older than 3 months.(read date from the name of the file)

Guys, My log files stored in the date format format below(log_20080714072942): TIMESTAMP=`date +%Y%m%d%H%M%S` LOG=/log/log_${TIMESTAMP}.log I'm looking for a shell script which deletes all files which is older than 3 months from today. Regards, Bhagat (3 Replies)
Discussion started by: bhagat.singh-j
3 Replies

4. Shell Programming and Scripting

Shell script delete log files from folder & subfolders on space usage

Hi, I am trying to write a shell script to delete logs generate by db when space in the folder reaches 70%. i am getting space values from db, find the files at OS and remove them by using a cron job runs every 5minutes. I have to keep the latest 5 files at any time, my problem is that log files... (3 Replies)
Discussion started by: saha
3 Replies

5. Shell Programming and Scripting

help with tar & zip only last months(say,Sep) files

Need to 1. archive all the files in a directory from the previous month into a tar/gz file, ignoring all already archived 'tar.gz' files 2. Check created .tar.gz file isnt corrupted and has all the required files in it. and then remove the original files. I am using a function to get the... (1 Reply)
Discussion started by: Prev
1 Replies

6. Shell Programming and Scripting

[Solved] Get files & delete them by shell script

I want to use my script to get any file then delete it once it transfers to my side , I manage to create below script to generate "list" file which contains all file names in "10.10.1.1" then I made "a.out" file which contains the commands that I want to run it on "10.10.1.1" to get & delete the... (2 Replies)
Discussion started by: arm
2 Replies

7. Shell Programming and Scripting

Script needed to delete to the list of files in a directory based on last created & delete them

Hi My directory structure is as below. dir1, dir2, dir3 I have the list of files to be deleted in the below path as below. /staging/retain_for_2years/Cleanup/log $ ls -lrt total 0 drwxr-xr-x 2 nobody nobody 256 Mar 01 16:15 01-MAR-2015_SPDBS2 drwxr-xr-x 2 root ... (2 Replies)
Discussion started by: prasadn
2 Replies

8. Shell Programming and Scripting

Need Script to ZIP/SAVE & then DELETE Log file & send a mail conformation for any error

ENVIROMENT Linux: RHEL 6.4 Log Path: /usr/iplanet/servers/https-company/logs Log Format: user.log.03-15-2015 I have log4j log rotation enabled rotating files on a daily basis. The rotated logs are NOT compressed & are taking up too much space. I need a script that will run daily that... (1 Reply)
Discussion started by: admin_job_admin
1 Replies

9. UNIX for Dummies Questions & Answers

Log file - Delete duplicate line & keep last date

Hello All ! I need your help on this case, I have a csv file with this: ITEM105;ARI FSR;2016-02-01 08:02;243 ITEM101;ARI FSR;2016-02-01 06:02;240 ITEM032;RNO TLE;2016-02-01 11:03;320 ITEM032;RNO TLE;2016-02-02 05:43;320 ITEM032;RNO TLE;2016-02-01 02:03;320 ITEM032;RNO... (2 Replies)
Discussion started by: vadim-bzh
2 Replies

10. Shell Programming and Scripting

SFTP Shell Script Get & Delete && Upload & Delete

Hi All, Do you have any sample script, - auto get file from SFTP remote server and delete file in remove server after downloaded. - only download specify filename - auto upload file from local to SFTP remote server and delete local folder file after uploaded - only upload specify filename ... (3 Replies)
Discussion started by: weesiong
3 Replies
GETALLHEADERS(3)							 1							  GETALLHEADERS(3)

getallheaders - Fetch all HTTP request headers

SYNOPSIS
array getallheaders (void ) DESCRIPTION
Fetches all HTTP headers from the current request. This function is an alias for apache_request_headers(3). Please read the apache_request_headers(3) documentation for more information on how this function works. RETURN VALUES
An associative array of all the HTTP headers in the current request, or FALSE on failure. CHANGELOG
+--------+---------------------------------------------------+ |Version | | | | | | | Description | | | | +--------+---------------------------------------------------+ | 5.5.7 | | | | | | | This function became available in the CLI | | | server. | | | | | 5.4.0 | | | | | | | This function became available under FastCGI. | | | Previously, it was supported when PHP was | | | installed as an Apache module or by the NSAPI | | | server module in Netscape/iPlanet/SunONE web- | | | servers. | | | | +--------+---------------------------------------------------+ EXAMPLES
Example #1 getallheaders(3) example <?php foreach (getallheaders() as $name => $value) { echo "$name: $value "; } ?> SEE ALSO
apache_response_headers(3). PHP Documentation Group GETALLHEADERS(3)
All times are GMT -4. The time now is 07:42 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy