Sponsored Content
Full Discussion: Find and Tar a Folder
Top Forums Shell Programming and Scripting Find and Tar a Folder Post 302564590 by TasosARISFC on Friday 14th of October 2011 06:33:54 AM
Old 10-14-2011
Find and Tar a Folder

Hi all,

I have created a function that looks for a folder in a particular directory, checks the date it was last modified and if its old then compress it.
This works fine for files using gzip. However for folders I had to use tar. This is my function:

Code:
 
compressOldFolder()
{
  # $1 is the directory to search
  # $2 is the number of days a file must be old by, before it is compressed
 
  # Compress folders that:
  #    Are in/under the specified ($1) directory
  #    Were modified more than ($2) days ago
 
  find $1 -mtime +$2 -type d \( \! -name '*\.gz' \) -exec tar -cvpf {} $1 \;
}

the equivalent funtion for compressing old files uses
Code:
 
find $1 -mtime +$2 -type f \( \! -name '*\.gz' \) -exec gzip -f {} \;

which works fine...

the problem with the tar one is I get an error message saying "Cannot write to a directory"

If I replace "{}" with for eg " Archive1 " then it works fine, however what I want it to do is find the folder and compress it, not create a new separate archive

for example if I have the following directories
Folder1
--Nov2010
--Dec2010

I want the function to compress those two folders to
Folder1
--Nov2010.tar.gz
--Dec2010.tar.gz

(Nov2010 and Dec2010 are located inside Folder1 hence the "--")

any ideas?

thanks for your time!
 

10 More Discussions You Might Find Interesting

1. Solaris

extract tar.gz under a specific folder

Hi, How to extract a tar.gz file and put it under a designated folder that I specify in a one line command? thank you in advance. (3 Replies)
Discussion started by: melanie_pfefer
3 Replies

2. UNIX for Dummies Questions & Answers

Jar/Tar to a diffent folder/same folder w/ filename

Hi, I want to extract myfile.war to a folder which is in the same folder with war file.I did this as normal: jar -xvf myfile.war But it exploded all the content of file to the same level folder instead of that I was expecting to create a folder called myfile. This works with tar: ... (0 Replies)
Discussion started by: reis3k
0 Replies

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

4. Shell Programming and Scripting

Find all text files in folder and then copy to a new folder

Hi all, *I use Uwin and Cygwin emulator. I´m trying to search for all text files in the current folder (C/Files) and its sub folders using find -depth -name "*.txt" The above command worked for me, but now I would like to copy all found text files to a new folder (C/Files/Text) with ... (4 Replies)
Discussion started by: cgkmal
4 Replies

5. Shell Programming and Scripting

Find folder within folder, then find other folder in same dir

Hi all I'm new to your forum but not new to shells. I'm having a little trouble though as it's been quite some time since I scripted. Here's what I'm trying to do: I'm trying to search a directory named '/var/root/Applications' for another directory 'fooBar'. The "Applications" directory... (9 Replies)
Discussion started by: DC Slick
9 Replies

6. Emergency UNIX and Linux Support

Extract particular folder from a .tar format files.

Hi All- I want to extract a particular folder from .tar format files. For example: File Name: backup.tar The backup.tar contains the below folders & files. 1) /root_folder/Folder1/Folder1-1/* 2) /root_folder/Folder1/Folder1-2/* 3) /root_folder/Folder2/Folder2-1/* 4)... (5 Replies)
Discussion started by: k_manimuthu
5 Replies

7. UNIX for Dummies Questions & Answers

tar file from current folder

Hello guys, I am sure this has been asked before, but honestly, I cant find post talking about it. Here is what I need: - A tar file will be generated manually by user - This tar file is then used within a bash shell script My source folder structure is like this: ... (2 Replies)
Discussion started by: manolain
2 Replies

8. UNIX for Dummies Questions & Answers

Tar-ing folders in a folder

How do I create individual tars of a all the directories in a directory? I have a directory called 'patients', each patient has a directory in the patients directory. I want to create tars such that each patient has their own tar file. Thanks! (5 Replies)
Discussion started by: HappyPhysicist
5 Replies

9. UNIX for Dummies Questions & Answers

Do I need to extract the entire tar file to confirm the tar folder is fine?

I would like to confirm my file.tar is been tar-ed correctly before I remove them. But I have very limited disc space to untar it. Can I just do the listing instead of actual extract it? Can I say confirm folder integrity if the listing is sucessful without problem? tar tvf file1.tar ... (1 Reply)
Discussion started by: vivien_chu
1 Replies

10. Shell Programming and Scripting

Untar only folder structure from a tar ball

I have a tar file hello.tar which is 95 GB. hello.tar has many files and folders including some tar files as well. I wish to create a new tar ball which should maintain only the folder structure of hello.tar and the tar ball within the hello.tar So basically the idea is to untar... (2 Replies)
Discussion started by: mohtashims
2 Replies
SENDFILES(1)							     [nmh-1.5]							      SENDFILES(1)

NAME
sendfiles - send multiple files via a MIME message SYNOPSIS
sendfiles [delay] mailpath subject file1 [file2 ...] DESCRIPTION
The shell script sendfiles, is used to send a collection of files and directories via electronic mail. sendfiles mailpath "subject" files ... sendfiles will archive the files and directories you name with the tar command, and then mail the compressed archive to the "mailpath" with the given "subject". The archive will be automatically split up into as many messages as necessary in order to get past most mailers. Sometimes you want sendfiles to pause after posting a partial message. This is usually the case when you are running sendmail and expect to generate a lot of partial messages. If the first argument given to sendfiles starts with a dash, then it is interpreted as the number of seconds to pause in between postings, e.g., sendfiles -30 mailpath "subject" files ... will pause 30 seconds in between each posting. Extracting the Received Files When these messages are received, invoke mhstore once for the list of messages. The default is for mhstore to store the combined parts as a new message in the current folder, although this can be changed using storage formatting strings. You can then use mhlist to find out what's inside; possibly followed by mhstore again to write the archive to a file where you can subsequently uncompress and untar it. For instance: % mhlist 5-8 msg part type/subtype size description 5 message/partial 47K part 1 of 4 6 message/partial 47K part 2 of 4 7 message/partial 47K part 3 of 4 8 message/partial 18K part 4 of 4 % mhstore 5-8 reassembling partials 5,6,7,8 to folder inbox as message 9 % mhlist -verbose 9 msg part type/subtype size description 9 application/octet-stream 118K (extract with uncompress | tar xvpf -) type=tar conversions=compress % mhstore 9 % uncompress < 9.tar.Z | tar xvpf - Alternately, by using the -auto switch, mhstore will automatically do the extraction for you: % mhlist 5-8 msg part type/subtype size description 5 message/partial 47K part 1 of 4 6 message/partial 47K part 2 of 4 7 message/partial 47K part 3 of 4 8 message/partial 18K part 4 of 4 % mhstore 5-8 reassembling partials 5,6,7,8 to folder inbox as message 9 % mhlist -verbose 9 msg part type/subtype size description 9 application/octet-stream 118K (extract with uncompress | tar xvpf -) type=tar conversions=compress % mhstore -auto 9 -- tar listing appears here as files are extracted As the second tar listing is generated, the files are extracted. A prudent user will never put -auto in the .mh_profile file. The correct procedure is to first use mhlist to find out what will be extracted. Then mhstore can be invoked with -auto to perform the extraction. FILES
$HOME/.mh_profile The user profile PROFILE COMPONENTS
Path: To determine the user's nmh directory Current-Folder: To find the default current folder SEE ALSO
mhbuild(1), mhlist(1), mhshow(1), mhstore(1). Proposed Standard for Message Encapsulation (RFC-934) DEFAULTS
`-noverbose' CONTEXT
None MH.6.8 11 June 2012 SENDFILES(1)
All times are GMT -4. The time now is 07:31 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy