1
2
3
4
5
6
7
8
print 'Komprimiere Verzeichnis ' . $strScanDir . ".\n";
chdir ($strScanDir)
or die 'FEHLER: chdir zu ' . $strScanDir . ' nicht möglich: ' . $!;
my $tar = Archive::Tar->new();
$tar->add_files (@arrFiles)
or logMessage ('FEHLER: Inhalt von Verzeichnis ' . $strScanDir . ' konnte nicht zum Archiv hinzugefügt werden: ' . $!);
$tar->write ($strUsbstick . $strScanDir . '/backup.tgz', 6)
or logMessage ('FEHLER: Archiv von Verzeichnis ' . $strScanDir . ' konnte nicht geschrieben werden: ' . $!);
1 2 3 4 5 6
eval { $tar->add_files (@arrFiles); }; if ( $@ ) { logMessage ('FEHLER: Inhalt von Verzeichnis ' . $strScanDir . ' konnte nicht zum Archiv hinzugefügt werden: ' . $!); };
2019-06-23T18:40:55 LinuxerHi,
schon mal probiert, die Aktion in einen eval-Block zu packen:
QuoteBy default, running out of memory is an untrappable, fatal error.
tar -czvf yourdirectory.tar.gz yourdirectory
2019-06-23T19:56:40 RalphFFMFalls jemand zufällig noch eine Idee hat ...?
QuoteIsn't Archive::Tar heavier on memory than /bin/tar?
Yes it is, see previous answer. Since Compress::Zlib and therefore IO::Zlib doesn't support seek on their filehandles, there is little choice but to read the archive into memory. This is ok if you want to do in-memory manipulation of the archive.
...
2019-06-23T23:09:53 hajDa sehe ich nur die Möglichkeit, die Größe der Datei abzufragen und Dateien über einer bestimmten Größe zu überspringen.