Skip site navigation (1)Skip section navigation (2)
Date:      25 Oct 2003 10:57:04 -0400
From:      Lowell Gilbert <freebsd-questions-local@be-well.ilk.org>
To:        freebsd-questions@freebsd.org
Subject:   Re: Help: tar & find
Message-ID:  <44wuatqsan.fsf@be-well.ilk.org>
In-Reply-To: <20031025075322.GA65979@happy-idiot-talk.infracaninophile.co.uk>
References:  <200310250833.17091.479001601@mail.ru> <EC1E2E7A-06A8-11D8-B94B-000393801C60@g-it.ca> <20031025075322.GA65979@happy-idiot-talk.infracaninophile.co.uk>

next in thread | previous in thread | raw e-mail | index | archive | help
> > Thanks for the response, but what would be a better solution?
> 
> There are several possibilities, all of which equate to passing the
> list of files to backup to the tar command (or equivalent) via stdin
> rather than the command line.  Perhaps the simplest is to use the '-I'
> or '-T' flag to tar(1):
> 
>     find $FILES_DIR -xdev -type f -iname '*.bak' -print0 | \
>         tar --remove-files --null -T - \
>             -cvzpf $TAR_DIR/bak_files_`date +%F`.tar.gz
> 
> Other possibilities would include using cpio(1), which can be
> persuaded to emit tar format archives, or to build a perl backup
> script based around the File::Find and Archive::Tar modules.

Or passing the date in an environment variable.
I think something like

     datestamp=`date +%F`
     find $FILES_DIR -xdev -type f -iname '*.bak' -print0 | \
         tar --remove-files --null -T - \
             -cvzpf $TAR_DIR/bak_files_${datestamp}.tar.gz

should work.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?44wuatqsan.fsf>