Hi Steffen, > > > $tarxcmd = "tar -c -f - | $COMPRESSOR > $ar"; ... > > > unless (open XARGS, "| xargs -0 $tarxcmd 2>>$MFFN") { > > > > So xargs may run tar more than once, and if $#{$listref} has been > > growing then perhaps it's tipped over from one invocation to two > > recently? > > I don't understand this sentence of yours?
You're having perl open a pipe to xargs -0 tar -c -f - | xz >monthly-backup.tar.xz xargs runs the given command more than once under certain circumstances. That's its raison d'ĂȘtre. If that happened in your case then you've effectively run something like (tar -c -f - foo; tar -c -f - bar) | xz >monthly-backup.tar.xz > > Is monthly-backup.tar the value of $ar above? Or have you manually > > decompressed it? > > I ran xz -d on it first, manually. A-ha! > > $ (tar cf - foo; tar cf - bar) | (tar tf -; tar tf -) > > foo > > bar If tar did run twice to create the file then you need to run it twice when reading the file, with the second picking up where the first stops. p=mail/2013.track (tar tf -; echo still want $p; tar tf -) <monthly-backup.tar | fgrep $p Cheers, Ralph.