Create a Tar stream of arbitrarily-named entries by concatenating groups of regular & compressed files
- Home page
- http://danmbox.github.io/tarlogs
- Downloads
- github
- Author
- Dan A. Muresan (danmbox at gmail dot com)
tarlogs
concatenates groups of regular and gzipped files (the latter
are uncompressed first), then outputs the resulting entries to stdout,
packed under arbitrary names in a tar stream. Each entry inherits its
permission / ownership from the last file concatenated into that
entry.
Streams (the size of which can only be determined by reading until encountering EOF) will be buffered into memory. Either memory buffering or temporary files are necessary for streams because the tar format requires byte sizes of entries to precede their contents.
Directories are recursed into, as with regular tar
, and may not be
concatenated with other inputs. In this case one -o
generates
multiple tar entries, and controls the top-level path for all of them.
cd /var/log /path/tarlogs.py \ -z dpkg.log.2.gz -i dpkg.log.1 -i dpkg.log -o dpkg-recent.log \ -i kern.log.1 -i kern.log -o kern-recent.log | zbackup /zblogs/backups/$(date '+%Y%m%d_%H%M%S')
This will output a tar archive containing 2 entries, dpkg-recent.log
and kern-recent.log
. Run tarlogs.py -h
for more help.
Copyright 2015 Dan A. Muresan
See LICENSE.txt for licensing information.