03-19-2009
Need a script to delete previous versions of files
Hi.
I need a script (either bash or perl) that can delete previous versions of files.
For instance, from our continuous build process I get directories such as
build5_dev_1.21
build5_dev_1.22
build5_dev_1.23
build5_dev_1.24
I need a script that I can run every night (using "at" command) that deletes all but the last 1 or 2, such that when the script runs tonight, if the limit is 2, I end up with only the following two directories.
build5_dev_1.23
build5_dev_1.24
if a new build is created during the day the directory ill be named
build5_dev_1.25
and after the script runs I will have directories
build5_dev_1.24
build5_dev_1.25
left.
Ideally I only need to save the "latest" build (the one with the highest "1.xx" number), but i would like the option to save "n" builds, so that I can always have the last 2 or even 3 around if I want.
I am not well versed in script building, my main job is software development, and maintaining the builds is a side task that I write scripts for when i get tired of doing the repetitive tasks by hand. As a consequence I do the scripting so seldom that I have to re-learn alot each time I start a new script. that's why I'm asking for any pointers anyone would be willing to give.
thanks !
Joe Simon
7 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
I need some help with the logic and syntax for a shell script (ksh) that will search a directory and look for similar files and save only the last two versions. The version number is in the file name. However, the files are of varying name lengths and may have 1 or many files, with no limit to... (6 Replies)
Discussion started by: synergy_texas
6 Replies
2. Shell Programming and Scripting
I have directory where new sub directories and files being created every few minutes. The directories are like abc_date, def_date, ghi_date. I am looking to keep the latest 2 unique directories and delete everything else.
Here is what I have so far
This gives me unique names excluding the... (5 Replies)
Discussion started by: zzstore
5 Replies
3. UNIX for Dummies Questions & Answers
hi all.
Please help me with archiving previous day syslog files.
the files have no extension and have the format YYYY-MM-DD.
I want to archive the file then move it to some other machine.
thanks. (2 Replies)
Discussion started by: coolatt
2 Replies
4. Shell Programming and Scripting
Need to delete the line which is directly above any line which has 3 fields in it.
one two three
one
two
three
four five six
four
five
six
seven eight nine
seven
eight
nine
one two three
should output:
one two three (7 Replies)
Discussion started by: linuxkid
7 Replies
5. Shell Programming and Scripting
First let me explain the scenario
I have tywo files as usual
file1.txt (it has n rows and 8 columns)
$1 $2 $3 $4 $5 $6 $7 $8
Code:
1234567|iufgt|iuoy|iout|white |black |red |90879
1234567|iufgt|iuoy|iout|green |pink |blue |90879... (3 Replies)
Discussion started by: s.deepak
3 Replies
6. Shell Programming and Scripting
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
7. Shell Programming and Scripting
could you please assist the below query.
i had written the below piece of code to copy the files from one directory to another. For current month files had been copied ,unfortunately the previous month files not copied.
Please find the below directory structure:-
ls -lrt
total 1824... (2 Replies)
Discussion started by: venkat918
2 Replies
LEARN ABOUT LINUX
alien::package::rpm
Alien::Package::Rpm(3pm) User Contributed Perl Documentation Alien::Package::Rpm(3pm)
NAME
Alien::Package::Rpm - an object that represents a rpm package
DESCRIPTION
This is an object class that represents a rpm package. It is derived from Alien::Package.
FIELDS
prefixes
Relocatable rpm packages have a prefixes field.
METHODS
checkfile
Detect rpm files by their extention.
install
Install a rpm. If RPMINSTALLOPT is set in the environement, the options in it are passed to rpm on its command line.
scan
Implement the scan method to read a rpm file.
unpack
Implement the unpack method to unpack a rpm file. This is a little nasty because it has to handle relocatable rpms and has to do a bit
of permissions fixing as well.
prep
Prepare for package building by generating the spec file.
cleantree
Delete the spec file.
build
Build a rpm. If RPMBUILDOPT is set in the environement, the options in it are passed to rpm on its command line.
An optional parameter, if passed, can be used to specify the program to use to build the rpm. It defaults to rpmbuild.
version
Set/get version.
When retreiving the version, remove any dashes in it.
postinst
postrm
preinst
prerm
Set/get script fields.
When retrieving a value, we have to do some truely sick mangling. Since debian/slackware scripts can be anything -- perl programs or
binary files -- and rpm is limited to only shell scripts, we need to encode the files and add a scrap of shell script to make it
unextract and run on the fly.
When setting a value, we do some mangling too. Rpm maintainer scripts are typically shell scripts, but often lack the leading shebang
line. This can confuse dpkg, so add the shebang if it looks like there is no shebang magic already in place.
Additionally, it's not uncommon for rpm maintainer scripts to contain bashisms, which can be triggered when they are ran on systems
where /bin/sh is not bash. To work around this, the shebang line of the scripts is changed to use bash.
Also, if the rpm is relocatable, the script could refer to RPM_INSTALL_PREFIX, which is set by rpm at run time. Deal with this by
adding code to the script to set RPM_INSTALL_PREFIX.
arch
Set/get arch field. When the arch field is set, some sanitizing is done first to convert it to the debian format used internally. When
it's retreived it's converted back to rpm form from the internal form.
AUTHOR
Joey Hess <joey@kitenet.net>
perl v5.12.3 2011-06-11 Alien::Package::Rpm(3pm)