How to create zip/gz/tar files for if the files are older than particular days in UNIX or Linux?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting How to create zip/gz/tar files for if the files are older than particular days in UNIX or Linux?
# 1  
Old 09-27-2013
How to create zip/gz/tar files for if the files are older than particular days in UNIX or Linux?

I need a script file for backup (zip or tar or gz) of old log files in our unix server (causing the space problem). Could you please help me to create the zip or gz files for each log files in current directory and sub-directories also?

I found one command which is to create gz file for the older files, but it creates only one gz file for all older file. But I need individual gz file for each log file.
Code:
find /tmp/log/ -mtime +180 | xargs tar -czvPf /tmp/older_log_$(date +%F).tar.gz

Thanking you in advance.
Regards,
Mallik

Last edited by Franklin52; 09-29-2013 at 09:10 AM.. Reason: Please use code tags
# 2  
Old 09-27-2013
Code:
find /tmp/log/ -type f -size +0 ! -name '*.gz' -mtime +180 |
while read f
do
  cp -p "$f" "$f".0 &&
  gzip "$f".0
done

But maybe your OS provides the more robust rotatelog or logadm?
# 3  
Old 09-30-2013
Thanks a lot for your reply.

I put below lines (marked with blue color) in a script file "only_zip.sh" and trying to execute it, but giving the error
Code:
find /tmp/mallik3/ -type f -size +0 ! -name '*.gz' -mtime +180 |
while read f
do
  cp -p "$f" "$f".0 &&
  gzip "$f".0
done

Above script gives below error:
Code:
: command not found:
only_zip.sh: line 6: syntax error near unexpected token `done'
only_zip.sh: line 6: `done'

____________________
And I put extra commands in the another file "log_script_n.sh
" (marked with blue color) and trying to execute
Code:
#Deletes the files older than 365 days
find /tmp/mallik3/ -mtime +2200 -exec rm -f {} \;
#Make the zip/gz/compress the files, if those are older than 6 months
#another way of doing
find /tmp/mallik3/ -type f -size +0 ! -name '*.gz' -mtime +180 |
while read f
do
  cp -p "$f" "$f".0 &&
  gzip "$f".0
done
#Delete the file older than 6 months (which are alredy zipped).
find /tmp/mallik3/ -mtime +180 -exec rm -f {} \;

gives below error:
Code:
find: missing argument to `-exec'
: command not foundne 9:
log_script_n.sh: line 17: syntax error: unexpected end of file
-bash-3.2$

Could you please help in this regard.

Last edited by Franklin52; 09-30-2013 at 07:00 AM.. Reason: Please use code tags
# 4  
Old 10-02-2013
I guess you used a Windoze text editor that saved the file in Windoze format.
# 5  
Old 10-03-2013
Thanks a lot for your reply.
I got it.


Code:
 
files=($(find /tmp/mallik3/ -mtime +"$days"))
 for files in ${files[*]}
 do
         echo $files
         zip $files-$(date --date="- "$days"days" +%F)_.zip $files
          #       tar cvfz $(files)_$(date --date='-6months' +%F).tar.gz $files
 #       rm $files
 done

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Find all log files under all file systems older than 2 days and zip them

Hi All, Problem Statement:Find all log files under all file systems older than 2 days and zip them. Find all zip files older than 3days and remove them. Also this has to be set under cron. I have a concerns here find . -mtime +2 -iname "*.log" -exec gzip {} Not sure if this will work as... (4 Replies)
Discussion started by: saurabh.mishra
4 Replies

2. UNIX for Dummies Questions & Answers

Create Tar and GZip files under Unix

Hi All I have 2 tar files and inside a Gzip file (actually its folder) that i got from a Unix user to check the code for him and find some problem. I decompress the Tar file and use 7-ZIP to open the Gzip file and Extract all folders and files. I found the code problem and change it but now when... (1 Reply)
Discussion started by: giladboker
1 Replies

3. Shell Programming and Scripting

Find and delete files and folders which are n days older from one unix server to another unix server

Hi All, Let me know how can i find and delete files from one unix server to another unix server which are 'N' days older. Please note that I need to delete files on remote unix server.So, probably i will need to use sftp, but question is how can i identify files and folders which are 'N'... (2 Replies)
Discussion started by: sachinkl
2 Replies

4. Shell Programming and Scripting

Need script to tar files older than 30 days

Hi all. Here's my situation: I have performance reports that run every 30 minutes saved in the format: stats_report_11251000.txt stats_report_11251030.txt stats_report_11251100.txt stats_report_11251130.txt (Obviously run at Nov 25 10 AM, 10:30 AM, 11 AM and so on...) I would... (2 Replies)
Discussion started by: jamie_collins
2 Replies

5. Shell Programming and Scripting

To write a shell script which groups files with certain pattern, create a tar and zip

Hi Guru's, I have to write a shell script which groups file names based upon the certain matching string pattern, then creates the Tar file for that particular group of files and then zips the Tar file created for the respective group of files. For example, In the given directory these files... (3 Replies)
Discussion started by: rahu_sg
3 Replies

6. Shell Programming and Scripting

How to tar, compress and remove files older than two days

Hi, I'm Eddy from Belgium and I've the following problem. I try to write a ksh script in AIX to tar, compress and remove the original *.wav files from the directory belgacom_sf_messages older than two days with the following commands. The problem is that I do not find a good combination... (4 Replies)
Discussion started by: edr
4 Replies

7. Shell Programming and Scripting

Delete files older than 2 days using shell script in Unix

I'm new to shell script.... can any one help... What is the shell script to delete the files older than 2 days ? (3 Replies)
Discussion started by: satishpabba
3 Replies

8. Solaris

Find files older than x days and create a consolidated single tar file.

Hello, I need help in finding files older than x days and creating a single consolidated tar file combining them. Can anyone please provide me a script? Thanks, Dawn (3 Replies)
Discussion started by: Dawn Bosch
3 Replies

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

10. UNIX for Dummies Questions & Answers

tar files older than 30 days

Hi there, I am trying to tar a number of files held in a specific folder. I am only interested in archiving files older than 30 days. Having read through the man entries and all available documentation I thought I'd cracked the coomand with tar -c -z -v -N 15/04/2004 -f /wfch.tar * This... (6 Replies)
Discussion started by: wfch
6 Replies
Login or Register to Ask a Question