tar Syntax Help
Drew Tomlinson
drew at mykitchentable.net
Fri Jul 8 04:01:20 GMT 2005
On 7/7/2005 8:38 PM Matt Emmerton wrote:
>
>
>>I'm trying to copy an entire file system while using an exclude file to
>>avoid copying things such as /dev, /proc, etc. I've read the man page
>>and found the -X or --exclude-from tar option. I've create a file
>>called /exclude.list. It contains lines such as:
>>
>>/exclude.list
>>/dev
>>/proc
>>
>>But I can't figure out how to form the correct command line. I
>>basically want to do this:
>>
>>tar -cvf - --exclude-from /exclude.list -C / . | tar xpf - -C .
>>
>>I've search the web and found examples that look similar to the above
>>but this does not work for me. tar attempts to copy /dev and I get all
>>the associated errors. I've tried other placements of either "-X", "X",
>>and "--exclude from" on the command line various things happen from it
>>just being ignored to tar thinking I want to create and archive named
>>"-X", etc., to tar trying to add a file named "-X", etc. to the current
>>archive. I'm at a loss.
>>
>>I'm using 4.11 and trying to make a good backup before upgrading to
>>5.4. Can anyone tell me the secret incantation to make this work?
>>
>>
>
>-X only works with specific files, not entire directories. You will need to
>list every file in /dev or /proc that you want to exclude, which is somewhat
>painful.
>
>The backup strategy that I've used on production systems is to back up each
>directory in a separate tar file. Not only does this work quicker (since
>you can fire off multiple tar sessions in parallel), but you can avoid
>"special" directories like /dev and /proc, temporary mount points such as
>/cdrom and /mnt, and other directories that don't need to backed up, such as
>/tmp. It's also quite handy when you've got large volumes of data (such as
>in /home) and the complete system image won't fit on a single tape.
>
>The general notion of my script is the following:
>
>#!/bin/sh
>for i in bin boot etc home modules root sbin usr var
>do
> tar cvzf /backups/$i.`date +%Y%m%d`.tar.gz $i &
>done
>wait
>echo "Backups completed!"
>
Thanks for your reply. I can do it this way and will for the sake of
speed. However this post suggests that one can use wildcards.
http://lists.freebsd.org/pipermail/freebsd-questions/2004-July/052207.html
Have you ever tried that? I did but was not successful.
Thanks,
Drew
--
Visit The Alchemist's Warehouse
Magic Tricks, DVDs, Videos, Books, & More!
http://www.alchemistswarehouse.com
More information about the freebsd-questions
mailing list