Sponsored Content
Full Discussion: Delete Old files from Tar
Top Forums UNIX for Beginners Questions & Answers Delete Old files from Tar Post 303045288 by RudiC on Sunday 15th of March 2020 04:44:09 PM
Old 03-15-2020
This MAY work to identify the target files. It produces an archive listing in long format including the date/time stamps, which ($4,$5) then are printed to stdout and a pipe, and, in parallel, the line No. and file name to a temporary file to be used later. On the other end of the pipe, date converts all the time stamps to epoch seconds, then piped into the next awk that compares them to the target threshold, i.e. the date/time 7 days ago. If condition is met, the line No. is retained in an array, and then used to identify the relevant lines in the temp file. Identified file names are printed and piped into tar to be used as the file for the -T option.
The --delete option won't work on compressed files, though, as stated before.


Be aware that the construct may suffer from race conditions, if the temp file is not on time available for reading in the last step. You might split the loooong pipe chain into separate steps, then.



Code:
tar tvf file.Tar.gz |
awk '
        {print $4,$5
         $1 = $2 = $3 = $4 = $5 = ""
         print NR, $0 > "/tmp/XYZ"
        }
' |
date -f- +%s |
awk '
BEGIN           {DT = srand() - 7 * 86400
                }
FNR == NR &&
$1 < DT         {T[NR]
                 next
                }
$1 in T         {print $2
                }
' - /tmp/XYZ |
tar tvf file.Tar.gz -T-


Last edited by RudiC; 03-15-2020 at 05:54 PM..
This User Gave Thanks to RudiC For This Post:
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

delete a file from an existing Solaris tar

How can I delete a file from an existing Solaris tar file ? (not gtar) (2 Replies)
Discussion started by: avnerht
2 Replies

2. UNIX for Advanced & Expert Users

Untaring *.tar.tar files

Hi all, How to untar a file with .tar.tar extension. A utility that i downloaded from net had this extension. Thanks in advance, bubeshj. (6 Replies)
Discussion started by: bubeshj
6 Replies

3. Linux

tar usage and delete/create username

dear Linux expert, I am using Fedora R5 how to use tar to archive /var to a test_var.tar and compressing it? how to delete a user? just remove the line in /etc/passwd? and then what is the procedure to create a new user ? many thank (2 Replies)
Discussion started by: zp523444
2 Replies

4. Shell Programming and Scripting

Delete a file from XXX.tar.Z

Hi All can u please let me know how to delete a file from XXX.tar.Z file with out uncompressing this file. thanks in advance. --Bali (0 Replies)
Discussion started by: balireddy_77
0 Replies

5. UNIX for Advanced & Expert Users

How to create a Tar of multiple Files in Unix and FTP the tar to Windows.

Hi, On my Unix Server in my directory, I have 70 files distributed in the following directories (which have several other files too). These files include C Source Files, Shell Script Source Files, Binary Files, Object Files. a) /usr/users/oracle/bin b) /usr/users/oracle... (1 Reply)
Discussion started by: marconi
1 Replies

6. Solaris

option to delete .tar file while extracting

Is there an option in tar which deletes the .tar file as soon as it is successfully extracted. (5 Replies)
Discussion started by: vickylife
5 Replies

7. UNIX for Dummies Questions & Answers

tar -cvf test.tar `find . -mtime -1 -type f` only tar 1 file

Hi all, 4 files are returned when i issue 'find . -mtime -1 -type f -ls'. ./ora_475244.aud ./ora_671958.aud ./ora_934052.aud ./ora_934050.aud However, when I issued the below command: tar -cvf test.tar `find . -mtime -1 -type f`, the tar file only contains the 1st file -... (2 Replies)
Discussion started by: ahSher
2 Replies

8. UNIX for Dummies Questions & Answers

How to delete original files after using a tar operation.

I have a list of log files in a directory. Once i tar them I need to remove the original log files. How do i do it? (4 Replies)
Discussion started by: manutd
4 Replies

9. Shell Programming and Scripting

tar command to explore multiple layers of tar and tar.gz files

Hi all, I have a tar file and inside that tar file is a folder with additional tar.gz files. What I want to do is look inside the first tar file and then find the second tar file I'm looking for, look inside that tar.gz file to find a certain directory. I'm encountering issues by trying to... (1 Reply)
Discussion started by: bashnewbee
1 Replies

10. 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
TAR(1)							      General Commands Manual							    TAR(1)

NAME
tar - tape archiver SYNOPSIS
tar [ key ] [ name ... ] DESCRIPTION
Tar saves and restores multiple files on a single file (usually a magnetic tape, but it can be any file). Tar's actions are controlled by the key argument. The key is a string of characters containing at most one function letter and possibly one or more function modifiers. Other arguments to tar are file or directory names specifying which files to dump or restore. In all cases, appearance of a directory name refers to the files and (recursively) subdirectories of that directory. The function portion of the key is specified by one of the following letters: r The named files are written on the end of the tape. The c function implies this. x The named files are extracted from the tape. If the named file matches a directory whose contents had been written onto the tape, this directory is (recursively) extracted. The owner, modification time, and mode are restored (if possible). If no file argument is given, the entire content of the tape is extracted. Note that if multiple entries specifying the same file are on the tape, the last one overwrites all earlier. t The names of the specified files are listed each time they occur on the tape. If no file argument is given, all of the names on the tape are listed. u The named files are added to the tape if either they are not already there or have been modified since last put on the tape. c Create a new tape; writing begins on the beginning of the tape instead of after the last file. This command implies r. The following characters may be used in addition to the letter which selects the function desired. o On output, tar normally places information specifying owner and modes of directories in the archive. Former versions of tar, when encountering this information will give error message of the form "<name>/: cannot create". This modifier will suppress the directory information. p This modifier says to restore files to their original modes, ignoring the present umask(2). Setuid and sticky information will also be restored to the super-user. 0, ..., 9 This modifier selects an alternate drive on which the tape is mounted. The default is drive 0 at 1600 bpi, which is normally /dev/rmt8. v Normally tar does its work silently. The v (verbose) option makes tar print the name of each file it treats preceded by the function letter. With the t function, the verbose option gives more information about the tape entries than just their names. w Tar prints the action to be taken followed by file name, then wait for user confirmation. If a word beginning with `y' is given, the action is done. Any other input means don't do it. f Tar uses the next argument as the name of the archive instead of /dev/rmt?. If the name of the file is `-', tar writes to stan- dard output or reads from standard input, whichever is appropriate. Thus, tar can be used as the head or tail of a filter chain. Tar can also be used to move hierarchies with the command cd fromdir; tar cf - . | (cd todir; tar xf -) b Tar uses the next argument as the blocking factor for tape records. The default is 20 (the maximum). This option should only be used with raw magnetic tape archives (See f above). The block size is determined automatically when reading tapes (key letters `x' and `t'). l tells tar to complain if it cannot resolve all of the links to the files dumped. If this is not specified, no error messages are printed. m tells tar not to restore the modification times. The modification time will be the time of extraction. h Force tar to follow symbolic links as if they were normal files or directories. Normally, tar does not follow symbolic links. B Forces input and output blocking to 20 blocks per record. This option was added so that tar can work across a communications channel where the blocking may not be maintained. C If a file name is preceded by -C, then tar will perform a chdir(2) to that file name. This allows multiple directories not related by a close common parent to be archived using short relative path names. For example, to archive files from /usr/include and from /etc, one might use tar c -C /usr include -C / etc Previous restrictions dealing with tar's inability to properly handle blocked archives have been lifted. FILES
/dev/rmt? /tmp/tar* SEE ALSO
tar(5) DIAGNOSTICS
Complaints about bad key characters and tape read/write errors. Complaints if enough memory is not available to hold the link tables. BUGS
There is no way to ask for the n-th occurrence of a file. Tape errors are handled ungracefully. The u option can be slow. The current limit on file name length is 100 characters. There is no way selectively to follow symbolic links. When extracting tapes created with the r or u options, directory modification times may not be set correctly. 7th Edition May 12, 1986 TAR(1)
All times are GMT -4. The time now is 04:26 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy