11-06-2008
Kron Shell: deleting all but most recent log files
I am trying to create a Korn Shell script to be run every 5-10 minute from a crontab. This script needs to look for log files (transaction_<date>.log). If there are more than 5 such files, it needs to delete all but the most current 5. How often these files are create varies - can be every minute can be once a day, but it is important to leave the couple most current files. Conceptually I know what to do, but syntactically can't pull it off. Seems like it needs to do a ls -ltr (return the files in date order most recent being last). It needs to know how many were returned,. If it isn't more than 5, don't do anything else. If there are, get the files names of the all the logs except the last 5 returned by ls -ltr and delete them. But How to do all this?
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
Hi
My problem is i have to remove some log files in specific named directories on a regular basis using shell scripts. What i want my shell script to do is i give the shell script some listing of directories from which to delete all log files recursively.
Can anyone please help me.
... (2 Replies)
Discussion started by: sameervs
2 Replies
2. UNIX for Dummies Questions & Answers
I've walked into a while loop gone bad.....which has created 100k+ log files.
Is it quicker removing the files with rm pattern* or actually removing the entire directory with rm -rf dir/
It's taking ages (hours) either way ...just curious if one is goig to be quicker than the other...or is it... (8 Replies)
Discussion started by: peter.herlihy
8 Replies
3. Shell Programming and Scripting
Just I'm trying to find script, which will do the following job:
1. as a CRON-Job it shoult
a) delete files which will be either older than 24 hours or
b) all files within
a) a directory deleting recursive
b) only a special directory.
2. write an error-/Delete_log... (9 Replies)
Discussion started by: ManfredWL
9 Replies
4. Shell Programming and Scripting
i have the following problem:
use shell script:
Two directories have to be searched for files havin the same name.
then delete these files from one of these directories.
the directory names have to be accepted as command line arguments.
what i have done till now is:
1. run a loop... (1 Reply)
Discussion started by: onlyc
1 Replies
5. Shell Programming and Scripting
I have written a script that deletes files:
Requirement: i need to delete the files and to know how many files are deleted i.e the count of files and even i need to display when the started time of deletion and the ending time of deletion. I need to display these two times.
script:
... (2 Replies)
Discussion started by: venkatesht
2 Replies
6. Shell Programming and Scripting
Hi,
I am using the command find /apps/qualdb/gpcn/scripts/cab_outbound/archive -name 'z*' -mtime +28 -exec rm {} \;
in unix command prompt
for deleting the files in my unix system under the specfied folder. It was succesfull.
But when i running this command inside a shell script name... (2 Replies)
Discussion started by: Jayaram.Nambura
2 Replies
7. AIX
Hi Friends,
I have a list of files in a directory as shown below. It is basically in this format-> yymmdd.hhmmss.filename.out
I want to list the latest log of each file. ie. the lastest a.out, b.out, c.out, which means I am looking for only the below 3 files out of these 5 files:
... (3 Replies)
Discussion started by: sudvishw
3 Replies
8. Shell Programming and Scripting
Hi.
I need help with a little script that will be used to move some files to their parent directory, delete the directory, rename one file in the parent directory and delete another, then continue to the next.
Here's an example:
/var/media/Music/Genesis/1970 album - Trespass (2008 Box -... (4 Replies)
Discussion started by: aflower
4 Replies
9. Homework & Coursework Questions
Me and a friend are working on a project, and We have to create a script that can go into a file, and replace all occurances of a certain expression/word/letter with another using Sed. It is designed to go through multiple tests replacing all these occurances, and we don't know what they will be so... (1 Reply)
Discussion started by: Johnny2518
1 Replies
10. Shell Programming and Scripting
I have 4 files in a directory and want to delete only first 2 files only..
$ ls -ltr
total 640
-rw-r--r-- 1 user other 148779 Oct 12 10:50 file1.xls
-rw-r--r-- 1 user other 148779 Oct 12 10:50 file2.xls
-rw-r--r-- 1 user other 148779 Oct 12 10:50 file3.xls... (4 Replies)
Discussion started by: giridhar276
4 Replies
FAXCRON(8) System Manager's Manual FAXCRON(8)
NAME
faxcron - HylaFAX routine maintenance script
SYNOPSIS
/usr/sbin/faxcron [ -n ] [ -l lastrun ]
DESCRIPTION
faxcron is a command script that does routine upkeep tasks in a HylaFAX spooling directory hierarchy. This script is intended to be
invoked from cron(8) on behalf of the fax user (often the ``fax'' user is uucp) once a day, with the standard output sent by mail to the
HylaFAX administrator. For example, the following crontab might be set up for the fax user:
25 23 * * * sh /usr/sbin/faxcron | mail FaxMaster
The faxcron script does the following work:
o report statistics for facsimile transmitted since the last time faxcron was run.
o report statistics for facsimile transmitted in the past week.
o report statistics for facsimile received since the last time faxcron was run.
o report statistics for facsimile received in the past week.
o report any recent calls that failed suspiciously and return the associated trace log;
o purge data that is 30 days or older from the remote machine information directory;
o delete information that is 30 days or older from session trace log files;
o remove files from the tmp directory that are older than 1 day;
o remove files in the received facsimile queue that are 7 days or older;
o report sites that are currently having jobs rejected; and
o force all session log files to be owned by the fax user and kept with protection mode 644.
OPTIONS
-n Forces faxcron to run without updating any files.
-l lastrun
Forces the notion of the last time that faxcron was run to be lastrun. The value of lastrun is a date and time string of the
form ``MM/DD/YY HH:MM'' (the date(1) format string ``%D %H:%M'').
-info n Set the expiration time for data in the info database to be n days.
-log n Set the expiration time for session log data to be n days.
-rcv n Set the expiration time for files in the received facsimile queue to be n days.
-tmp n Set the expiration time for files in the tmp directory to be n days.
-mode m Set the file protection mode for session logs to m (a command line argument to chmod(1)).
NOTES
This script requires nawk(1) or gawk(1) and a date (1) program that supports the ``+format'' option.
If session logs are to be kept private this script must be modified to filter out sensitive information such as calling card numbers. (It
should also be run with ``-mode 0600'' so that session log files are not publicly readable.)
FILES
/var/spool/hylafax spooling area
/var/spool/hylafax/status/lastrun timestamp of last run
/usr/sbin/xferfaxstats for generating transmit statistics
/usr/sbin/recvstats for generating receive statistics
/var/spool/hylafax/tmp/faxcronXXXX temporary file for truncating session logs
/var/spool/hylafax/tmp/faxlogXXXX temporary file for logs of failed calls
SEE ALSO
cron(8), faxq(8), faxgetty(8), faxsend(8), xferfaxstats(8), recvstats(8), hylafax-server(5)
May 12, 1996 FAXCRON(8)