tar question
David Tonhofer, m-plify S.A.
d.tonhofer at m-plify.com
Thu Oct 6 18:14:08 UTC 2005
--"Dege, Robert C." <robert.dege at ngc.com> wrote:
>
> Tar will only exclude patterns that match the list in the archive it's
> creating. So first, you need to drop the '/', since tar automatically
> drops that.
>
> So your tar line should look like this:
>
> # tar -cvf /backup.tar --exclude=home/tempuser/work /home/tempuser
Not true ;-) ... It's not important whether you have the '/' or not.
But you must precede every 'exclude' with the '--exclude' flag. You can't list
them like you did. At leas in GNU tar.
Try this (tar-1.14-4): The presence of the toplevel '/' has no effect:
# cd /tmp
# tar czf etc1.tgz /etc --exclude etc/sysconfig
# tar czf etc2.tgz /etc --exclude /etc/sysconfig
# tar czf etc3.tgz /etc
# tar tzf etc1.tgz | grep sysconfig
etc/X11/sysconfig/
etc/X11/starthere/sysconfig.desktop
# tar tzf etc2.tgz | grep sysconfig
etc/X11/sysconfig/
etc/X11/starthere/sysconfig.desktop
# tar tzf etc3.tgz | grep sysconfig
etc/sysconfig/
etc/sysconfig/console/
etc/sysconfig/system-logviewer
etc/sysconfig/ntpd
........
However:
# tar czf etc4.tgz /etc --exclude etc/sysconfig etc/ntp
tar: Removing leading `/' from member names
tar: etc/ntp: Cannot stat: No such file or directory
tar: Error exit delayed from previous errors
You must do
# tar czf etc4.tgz /etc --exclude etc/sysconfig --exclude etc/ntp
Interestingly, I put the files-to-backup before the '--exclude',
you put them after, which is the way to do it according to the man page.
Interesting.
More information about the redhat-list
mailing list