Date: Sun, 5 Dec 1999 13:28:50 -0500 (EST) From: "Crist J. Clark" <cjc@cc942873-a.ewndsr1.nj.home.com> To: cs@cheasy.de Cc: FreeBSD-Questions@FreeBSD.ORG Subject: Re: How to delete backups N days old? Message-ID: <199912051828.NAA48924@cc942873-a.ewndsr1.nj.home.com> In-Reply-To: <14410.40791.863940.609567@mero-08a.merowingia.uni-kl.de> from Christoph Sold at "Dec 5, 1999 06:22:31 pm"
next in thread | previous in thread | raw e-mail | index | archive | help
Christoph Sold wrote, [Charset iso-8859-1 unsupported, filtering to ASCII...] > I do regular backups of a subtree into some tarballs on another > volume. The tarballs are named including the date > (e.g. bup-19991205.tar.bz2). Those files accumulate over a period of > several days, then get written out to tape. After that, I want to > delete backup tarballs older than, say, one week. > > Looking for an option in find, I went up blank. (Yes, you may specify > files older than another given file, but that_s not what is needed > here. I want to create a script automating the process, leaving a > couple of newer tarballs online.) > > Any ideas really appreciated #!/bin/sh # # Usage: bkupclean [days] # # Clean up backup older than 'days' or default to a week (7 days). # BACKUPDIR is the location of the backups and needs to be set. cd $BACKUPDIR if [ $1 ]; then if [ $1 -lt 1 ]; then echo "$0: Bad number of days. Must be greater than 0." >&2 exit 1 else DAYS=$1 fi else DAYS=7 fi ERASEFROM=`date -v-"$DAYS"d +%Y%m%d` ERASEFROM=bup-"$ERASEFROM".tar.bz2 for BUP in bup*; do if expr $BUP '<=' $ERASEFROM; then rm $BUP fi done exit 0 -- Crist J. Clark cjclark@home.com To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199912051828.NAA48924>