Sponsored Content
Operating Systems Linux Red Hat Delete files older than 1week(dates need to be calculate based on file name) Post 302999618 by rbatte1 on Friday 23rd of June 2017 11:00:38 AM
Old 06-23-2017
Would it be a problem to extract the file creation time from the file name and use touch to set the time correctly? You can then use find far easier.

Is the date format year, month, day, hour, minute, second, millisecond? You can grab that bit and make a decision on that if you calculate the date before you want to erase the files, something like this:-
Code:
#!/bin/bash

# Calculate the cut-off value
earliest_date_allowed=$(date +%Y%m%d%H%M%S -d"1 week ago")
echo "\$earliest_date_allowed=\"$earliest_date_allowed\" or $(date -d"1 week ago")"
while read file
do
   # Extract the date part
   filedate="${file#*-}"            # removes up to first hyphen of filename
   filedate="${filedate%???-*}"     # Removes milliseconds to the end
   if [ $filedate -lt $earliest_date_allowed ]
   then
      echo "I would purge $file"
   fi
done < <(ls -1)                     # Run ls as input for the loop

It doesn't work with milliseconds though and relies on GNU-date. Are these a problem?


Does this get you close?
Robin

Last edited by rbatte1; 06-23-2017 at 12:02 PM.. Reason: Added a code comment
 

9 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

delete files older than 7 days

can anyone tell me how I would write a script in ksh on AIX that will delete files in a directory older than 7 days? (1 Reply)
Discussion started by: lesstjm
1 Replies

2. UNIX for Dummies Questions & Answers

How can I delete files older than 7 days?

I will like to write a script that delete all files that are older than 7 days in a directory and it's subdirectories. Can any one help me out witht the magic command or script? Thanks in advance, Odogboly98:confused: (3 Replies)
Discussion started by: odogbolu98
3 Replies

3. Shell Programming and Scripting

how to delete the files which are the 30 min older...?

Hi all, i have a simple question that i want to find out the 30 minutes older files and delete those files from the particular location(Folder) Generally for this purpose used to retreive the files with "atime" command For example: find and delete the 2 days older log files use this below... (2 Replies)
Discussion started by: psiva_arul
2 Replies

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

5. UNIX for Dummies Questions & Answers

Delete files older than 30 days

This is driving me crazy. How can I delete files in a specifc directory that are over 30 days old? Thanks in advance. (3 Replies)
Discussion started by: tlphillips
3 Replies

6. Shell Programming and Scripting

Delete files older than today

is it -mtime +1 as i need all files older than today to be deleted (6 Replies)
Discussion started by: dinjo_jo
6 Replies

7. Shell Programming and Scripting

To delete files older than 24 hrs

I have to retain only 1 day files in my system an I have to delete all the other files which are older than 24 hrs. Please let me know the option I have to give in the find -mtime command. (3 Replies)
Discussion started by: rajesh8s
3 Replies

8. UNIX for Dummies Questions & Answers

How to delete all the files older than a date?

Hi, I need a command for deleting all the compress files *.Z that are older than the current date - 5 days. Basically I have a directory where daily I meet some back up files and I want to remove automatically the ones 5 days (or more) older than the current date. How can I write a 'rm' command... (1 Reply)
Discussion started by: Francy
1 Replies

9. Shell Programming and Scripting

List and Delete Files which are older than 7 days, but have white spaces in file name

I need to list and delete all files in current older which are olderthan 7 days. But my file names have white spaces. Before deleting I want to list all the files, so that I can verify.find . -type f -mtime +7 | xargs ls -l {} But the ls command is the working on the files which have white... (16 Replies)
Discussion started by: karumudi7
16 Replies
AUVIRT(8)						  System Administration Utilities						 AUVIRT(8)

NAME
auvirt - a program that shows data related to virtual machines SYNOPSIS
auvirt [ OPTIONS ] DESCRIPTION
auvirt shows a list of guest sessions found in the audit logs. If a guest is specified, only the events related to that guest is consid- ered. To specify a guest, both UUID or VM name can be given. For each guest session the tool prints a record with the domain name, the user that started the guest, the time when the guest was started and the time when the guest was stoped. If the option "--all-events" is given a more detailed output is shown. In this mode other records are shown for guest's stops, resource assignments, host shutdowns and AVC and anomaly events. The first field indicates the event type and can have the following values: start, stop, res, avc, anom and down (for host shutdowns). Resource assignments have the additional fields: resource type, reason and resource. And AVC records have the following additional fields: operation, result, command and target. By default, auvirt reads records from the system audit log file. But --stdin and --file options can be specified to change this behavior. OPTIONS
--all-events Show records for all virtualization related events. --debug Print debug messages to standard output. -f, --file file Read records from the given file instead from the system audit log file. -h, --help Print help message and exit. --proof Add after each event a line containing all the identifiers of the audit records used to calculate the event. Each identifier con- sists of unix time, milliseconds and serial number. --show-uuid Add the guest's UUID to each record. --stdin Read records from the standard input instead from the system audit log file. This option cannot be specified with --file. --summary Print a summary with information about the events found. The summary contains the considered range of time, the number of guest starts and stops, the number of resource assignments, the number of AVC and anomaly events, the number of host shutdowns and the number of failed operations. -te, --end [end-date] [end-time] Search for events with time stamps equal to or before the given end time. The format of end time depends on your locale. If the date is omitted, today is assumed. If the time is omitted, now is assumed. Use 24 hour clock time rather than AM or PM to specify time. An example date using the en_US.utf8 locale is 09/03/2009. An example of time is 18:00:00. The date format accepted is influenced by the LC_TIME environmental variable. You may also use the word: now, recent, today, yesterday, this-week, week-ago, this-month, this-year. Today means starting now. Recent is 10 minutes ago. Yesterday is 1 second after midnight the previous day. This-week means starting 1 second after midnight on day 0 of the week determined by your locale (see localtime). This-month means 1 second after midnight on day 1 of the month. This-year means the 1 second after midnight on the first day of the first month. -ts, --start [start-date] [start-time] Search for events with time stamps equal to or after the given end time. The format of end time depends on your locale. If the date is omitted, today is assumed. If the time is omitted, midnight is assumed. Use 24 hour clock time rather than AM or PM to specify time. An example date using the en_US.utf8 locale is 09/03/2009. An example of time is 18:00:00. The date format accepted is influ- enced by the LC_TIME environmental variable. You may also use the word: now, recent, today, yesterday, this-week, this-month, this-year. Today means starting at 1 second after midnight. Recent is 10 minutes ago. Yesterday is 1 second after midnight the previous day. This-week means starting 1 second after midnight on day 0 of the week determined by your locale (see localtime). This-month means 1 second after midnight on day 1 of the month. This-year means the 1 second after midnight on the first day of the first month. -u, --uuid UUID Only show events related to the guest with the given UUID. -v, --vm name Only show events related to the guest with the given name. EXAMPLES
To see all the records in this month for a guest auvirt --start this-month --vm GuestVmName --all-events SEE ALSO
aulast(8), ausearch(8), aureport(8). AUTHOR
Marcelo Cerri IBM Corp Dec 2011 AUVIRT(8)
All times are GMT -4. The time now is 04:56 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy