http://qs321.pair.com?node_id=975601


in reply to Creating Tarballs in a perl scripts

There's nothing magic about '.' files as far as tar is concerned. Without a more complete sample of what you're doing beyond just the tar command used:it's hard to suggest what's wrong. About the only thing that would prevent tar from including files would be permissions. The single snippet you provide doesn't indicate that you're checking the output of the tar command, which would write things like "tar: dir/.please_include_me: Couldn't visit directory: Permission denied" to stderr if the user the script is running as didn't have permission to read the file. Without seeing the code, I would suggest adding the -v option to the command in your script and capturing all of stdout/stderr. It might tell you something

fnord

  • Comment on Re: Creating Tarballs in a perl scripts

Replies are listed 'Best First'.
Re^2: Creating Tarballs in a perl scripts
by aaron_baugher (Curate) on Jun 11, 2012 at 20:53 UTC

    The way dotfiles are usually missed in a situation like this is when the command is given a wildcard:

    tar -czf file.tgz *

    That will tar up everything beneath the current directory, except for any dotfiles in the current directory, because * in a shell doesn't match those (normally, though some shells might under some circumstances). The shell will interpolate the * to mean all non-dotfiles in the current directory, and tar will get them and anything under them (including any dotfiles in subdirecories).

    The usual way around that is to tar up the current directory, rather than the contents:

    tar -czf /tmp/file.tgz .

    I don't know if this was the OP's problem, since I don't know what he had in $DEST, but it's a possibility.

    Aaron B.
    Available for small or large Perl jobs; see my home node.