Eagle
01-08-2002, 19:18
Hallo,
ich das was ich über "tar cvfz irgendwas.tar.gz /verzeichnis" in der Shell erziele, gleichermassen mit Hilfe eines Perl-Scripts erreichen.
Dass Perl 5 hierzu Module wie "Archive::Tar", "Compress::Zlib" und "File::Find" unter www.CPAN.org anbietet ist klar.
Was mir noch so klar ist, ist der Gebrauch des Moduls "File::Find", so daß es den Verzeichnisbaum inclusive der darin enthaltenen Dateien ins in-memory liest.
Ich bin soweit, dass mir
...
$dir = "/usr/www/";
$ext = "html";
find(\&search, $dir);
sub search{
if(/$ext$/i){
$tar->add_files($_);
}
}
...
alle HTML-Dateien aus $dir in ein Tar-Archive komprimiert packt. Nur sucht die Routine immer tiefer - soll sie ja auch - aber sie sollte die Verzeichnisstruktur mit aufzeichnen und nicht Dateien aus einem Unterverzeichnis in eine Ebene mit allen Dateien schmeissen.
Kennt sich damit jemand aus und kann mir das Wie oder Beispielscripte mitteilen?
Also da wäre mir super geholfen! Besten Dank im Voraus!
Andreas
ich das was ich über "tar cvfz irgendwas.tar.gz /verzeichnis" in der Shell erziele, gleichermassen mit Hilfe eines Perl-Scripts erreichen.
Dass Perl 5 hierzu Module wie "Archive::Tar", "Compress::Zlib" und "File::Find" unter www.CPAN.org anbietet ist klar.
Was mir noch so klar ist, ist der Gebrauch des Moduls "File::Find", so daß es den Verzeichnisbaum inclusive der darin enthaltenen Dateien ins in-memory liest.
Ich bin soweit, dass mir
...
$dir = "/usr/www/";
$ext = "html";
find(\&search, $dir);
sub search{
if(/$ext$/i){
$tar->add_files($_);
}
}
...
alle HTML-Dateien aus $dir in ein Tar-Archive komprimiert packt. Nur sucht die Routine immer tiefer - soll sie ja auch - aber sie sollte die Verzeichnisstruktur mit aufzeichnen und nicht Dateien aus einem Unterverzeichnis in eine Ebene mit allen Dateien schmeissen.
Kennt sich damit jemand aus und kann mir das Wie oder Beispielscripte mitteilen?
Also da wäre mir super geholfen! Besten Dank im Voraus!
Andreas