tar question

Dege, Robert C. robert.dege at ngc.com
Thu Oct 6 18:25:55 UTC 2005


David,

Please look at the tar line closer:

# tar -cvf /backup.tar --exclude=home/tempuser/work /home/tempuser

/home/tempuser was not a 2nd --exclude line, but was telling tar what
directory to archive.


Just to illustrate my reasoning:

# tar -zcvf /log.tgz etc/logrotate.d --exclude=etc/logrotate.d/tux
etc/logrotate.d/
etc/logrotate.d/syslog
etc/logrotate.d/httpd
etc/logrotate.d/samba
etc/logrotate.d/cups

# tar -zcvf /log.tgz etc/logrotate.d --exclude=/etc/logrotate.d/tux
etc/logrotate.d/
etc/logrotate.d/syslog
etc/logrotate.d/httpd
etc/logrotate.d/samba
etc/logrotate.d/tux  <-- no longer excluded when using '/'
etc/logrotate.d/cups


My version of tar is 1.13.25, plus I'm also using the '=' in my exclude.
It is possible that they changed how exclude works in the newer version
of tar.


-Rob


> -----Original Message-----
> From: redhat-list-bounces at redhat.com 
> [mailto:redhat-list-bounces at redhat.com] On Behalf Of David 
> Tonhofer, m-plify S.A.
> Sent: Thursday, October 06, 2005 2:14 PM
> To: General Red Hat Linux discussion list
> Subject: RE: tar question
> 
> --"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.
> 
> 
> --
> redhat-list mailing list
> unsubscribe mailto:redhat-list-request at redhat.com?subject=unsubscribe
> https://www.redhat.com/mailman/listinfo/redhat-list
> 




More information about the redhat-list mailing list