Re: du and tar: --exclude-from option

[email protected] (Bob Proulx)
Newsgroups gmane.comp.gnu.fileutils.bugs
Message-ID <[email protected]>
Jacob Elder <[email protected]> [2002-10-31 14:21:52 -0500]:
> So what is the idiomatic way to guess the size of an archive before writing
> to tape?

The silence has been deafening.  Probably everyone else is busy and so
I will jump in again.

> [...previously...]
> df reports that I'm using 2882M.
> tar --exclude-from says that the backup is 2722M.
> du with my tar-friendly exclude from reports that I'm using 2942M.
> du without any exclude file reports that I'm using exactly: 2942M.

I am not sure of the accuracy you wish.  To my mind those numbers are
all "close enough" and I would have been happy with that level of
detail.

If you need to know exactly then I can think of no way other than
simply looking at the size of the tar archive.  I realize this seems
like a lot of overhead.  It is a lot of overhead.  Hopefully someone
else will think of a better way.  But I know not the overhead factor
that tar needs in order to store files in a tar file enough to be able
to predict exactly the size of the archive.

  tar cvzf - $backuplist | wc -c

Recently I posted a snippet to count up the bytes in all files in a
directory tree.  Perhaps this is useful.

  find $backuplist -print0 | xargs -r0 ls -ld | awk '{sum+=$5}END{printf "%d\n", sum}'

You would probably need to play around with '-type f' and '! -type d'
and your exclude options in order to get a list that was the same and
generated a representative sized tar file.  Directories should
probably be excluded from this prediction.

Bob
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.