X-Git-Url: http://git.rot13.org/?p=BackupPC.git;a=blobdiff_plain;f=bin%2FBackupPC_tarCreate;h=bb9f696d93c9d1cac27100300f82430a6355538f;hp=5548672808d6ad2b9e6fc1bd4cc89d7660ce38ea;hb=8028b56bcfb9f58351c7bb815f05107c76dea9be;hpb=16755c17628b28a58d75663d7541036344826961 diff --git a/bin/BackupPC_tarCreate b/bin/BackupPC_tarCreate index 5548672..bb9f696 100755 --- a/bin/BackupPC_tarCreate +++ b/bin/BackupPC_tarCreate @@ -1,4 +1,4 @@ -#!/bin/perl +#!/usr/bin/perl #============================================================= -*-perl-*- # # BackupPC_tarCreate: create a tar archive of an existing dump @@ -21,8 +21,8 @@ # -t print summary totals # -r pathRemove path prefix that will be replaced with pathAdd # -p pathAdd new path prefix -# -b BLOCKS BLOCKS x 512 bytes per record (default 20; same as tar) -# -w writeBufSz write buffer size (default 1MB) +# -b BLOCKS output write buffer size in 512-byte blocks (default 20; same as tar) +# -w readBufSz buffer size for reading files (default 1048576 = 1MB) # -e charset charset for encoding file names (default: value of # $Conf{ClientCharset} when backup was done) # -l just print a file listing; don't generate an archive @@ -37,7 +37,7 @@ # Craig Barratt # # COPYRIGHT -# Copyright (C) 2001-2003 Craig Barratt +# Copyright (C) 2001-2009 Craig Barratt # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -55,7 +55,7 @@ # #======================================================================== # -# Version 3.0.0, released 28 Jan 2007. +# Version 3.2.0, released 31 Jul 2010. # # See http://backuppc.sourceforge.net. # @@ -90,10 +90,12 @@ usage: $0 [options] files/directories... -t print summary totals -r pathRemove path prefix that will be replaced with pathAdd -p pathAdd new path prefix - -b BLOCKS BLOCKS x 512 bytes per record (default 20; same as tar) - -w writeBufSz write buffer size (default 1048576 = 1MB) + -b BLOCKS output write buffer size in 512-byte blocks (default 20; same as tar) + -w readBufSz buffer size for reading files (default 1048576 = 1MB) -e charset charset for encoding file names (default: value of \$Conf{ClientCharset} when backup was done) + -l just print a file listing; don't generate an archive + -L just print a detailed file listing; don't generate an archive EOF exit(1); } @@ -184,13 +186,15 @@ if ( $ShareName eq "*" ) { archiveWriteHardLinks($fh); } -# -# Finish with two null 512 byte headers, and then round out a full -# block. -# -my $data = "\0" x ($tar_header_length * 2); -TarWrite($fh, \$data); -TarWrite($fh, undef); +if ( !$opts{l} && !$opts{L} ) { + # + # Finish with two null 512 byte headers, and then round out a full + # block. + # + my $data = "\0" x ($tar_header_length * 2); + TarWrite($fh, \$data); + TarWrite($fh, undef); +} # # print out totals if requested @@ -597,6 +601,12 @@ sub TarWriteFile $hdr->{size} = 0; TarWriteFileInfo($fh, $hdr); $SpecialCnt++; + } elsif ( $hdr->{type} == BPC_FTYPE_SOCKET + || $hdr->{type} == BPC_FTYPE_UNKNOWN ) { + # + # ignore these two file types - these are dynamic file types created + # by applications as needed + # } else { print(STDERR "Got unknown type $hdr->{type} for $hdr->{name}\n"); $ErrorCnt++;