--- flexbackup.xz 2016-12-11 20:37:15.808509373 +0000 +++ flexbackup 2016-12-11 20:40:41.782805683 +0000 @@ -695,6 +695,8 @@ $filename .= ".lzma"; } elsif ($cfg::compress eq "xz") { $filename .= ".xz"; + } elsif ($cfg::compress eq "lzip") { + $filename .= ".lz"; } } elsif ($cfg::type eq "afio") { # tag these a little different, the archive file itself isn't a @@ -713,6 +715,8 @@ $filename .= "-lzma"; } elsif ($cfg::compress eq "xz") { $filename .= "-xz"; + } elsif ($cfg::compress eq "lzip") { + $filename .= "-lz"; } } @@ -2722,7 +2726,7 @@ # First check if things are defined in the config file # Checks exist, true/false, or one of options &checkvar(\$cfg::type,'type','dump afio cpio tar star pax zip ar shar lha copy rsync filelist','tar'); - &checkvar(\$cfg::compress,'compress','gzip bzip2 lzop compress zip false hardware lzma xz','gzip'); + &checkvar(\$cfg::compress,'compress','gzip bzip2 lzop compress zip false hardware lzma xz lzip','gzip'); &checkvar(\$cfg::compr_level,'compr_level','exist','4'); &checkvar(\$cfg::verbose,'verbose','bool','true'); &checkvar(\$cfg::sparse,'sparse','bool','true'); @@ -3043,6 +3047,15 @@ $::z = " | $::path{$cfg::compress} -$cfg::compr_level "; } $::unz = "$::path{$cfg::compress} -d | "; + } elsif ($cfg::compress eq "lzip") { + $::path{'lzip'} = &checkinpath($cfg::compress); + push(@::remoteprogs, $::path{$cfg::compress}); + if ($cfg::compr_level !~ m/^[123456789]$/) { + push(@::errors,"\$compr_level must be set to 1-9"); + } else { + $::z = " | $::path{$cfg::compress} -$cfg::compr_level "; + } + $::unz = "$::path{$cfg::compress} -d | "; } else { $::z = ""; @@ -3301,6 +3314,10 @@ $::afio_z_flag = "-P $::path{$cfg::compress} -Q -$cfg::compr_level -Z"; $::afio_unz_flag = "-P $::path{$cfg::compress} -Q -d -Z"; + } elsif ($cfg::compress eq "lzip") { + $::afio_z_flag = "-P $::path{$cfg::compress} -Q -$cfg::compr_level -Z"; + $::afio_unz_flag = "-P $::path{$cfg::compress} -Q -d -Z"; + } $::unz = ""; # Reset & just use this for reading the archive file. @@ -3464,7 +3481,7 @@ $::path{'lha'} = &checkinpath('lha'); push(@::remoteprogs, $::path{'lha'}); - if ($cfg::compress =~ /^(gzip|bzip2|lzop|compress|zip|lzma|xz)$/) { + if ($cfg::compress =~ /^(gzip|bzip2|lzop|compress|zip|lzma|xz|lzip)$/) { warn("Using type \"lha\" with compress=$cfg::compress makes no sense"); warn("Setting compression to false"); $::unz = ""; @@ -3839,7 +3856,7 @@ # Try and guess file types and commpression scheme # might as well since we are reading from a file in this case - if ($file =~ m/\.(dump|cpio|tar|star|pax|a|shar|filelist)\.(gz|bz2|lzo|Z|zip|lzma|xz)$/) { + if ($file =~ m/\.(dump|cpio|tar|star|pax|a|shar|filelist)\.(gz|bz2|lzo|Z|zip|lzma|xz|lz)$/) { $cfg::type = $1; $cfg::compress = $2; $cfg::type =~ s/^a$/ar/; @@ -3849,10 +3866,11 @@ $cfg::compress =~ s/Z/compress/; $cfg::compress =~ s/lzma/lzma/; $cfg::compress =~ s/xz/xz/; + $cfg::compress =~ s/lz/lzip/; &log("| Auto-set to type=$cfg::type compress=$cfg::compress"); &optioncheck(); # redo to set a few variables over - } elsif ($file =~ m/\.afio-(gz|bz2|lzo|Z|zip|lzma|xz)$/) { + } elsif ($file =~ m/\.afio-(gz|bz2|lzo|Z|zip|lzma|xz|lz)$/) { $cfg::type = "afio"; $cfg::compress = $1; $cfg::compress =~ s/gz/gzip/; @@ -3861,6 +3879,7 @@ $cfg::compress =~ s/Z/compress/; $cfg::compress =~ s/lzma/lzma/; $cfg::compress =~ s/xz/xz/; + $cfg::compress =~ s/lz/lzip/; &log("| Auto-set to type=$cfg::type compress=$cfg::compress"); &optioncheck(); # redo to set a few variables over --- flexbackup.conf.xz 2016-12-11 20:37:15.808509373 +0000 +++ flexbackup.conf 2016-12-11 20:40:41.782805683 +0000 @@ -96,8 +96,8 @@ $prune{'/'} = 'tmp proc'; # Compression -$compress = 'gzip'; # one of false/gzip/bzip2/lzop/zip/compress/hardware/lzma/xz -$compr_level = '4'; # compression level (1-9) (for gzip/bzip2/lzop/zip/lzma/xz) +$compress = 'gzip'; # one of false/gzip/bzip2/lzop/zip/compress/hardware/lzma/xz/lzip +$compr_level = '4'; # compression level (1-9) (for gzip/bzip2/lzop/zip/lzma/xz/lzip) # Buffering program - to help streaming $buffer = 'false'; # one of false/buffer/mbuffer