Thread Problem mit Perl Script, welches alte Backupverzeichnisse löschen soll
(8 answers)
Opened by Dominik at 2013-08-29 15:34
Hallo Leute,
vielen Dank schonmal im Voraus für eure Hilfe bei meinem Problem. Mein Problem ist folgendes. Ich habe eine Backup-Software auf Basis von Perl laufen, welche täglich ein Backup in Form von 3 Zip Dateien, welche in meinem angegebenen Backup Ordner mit dem Datum von heute als Name erstellt wird. Nun möchte ich, dass alle Backup Ordner, welche Backups älter als 7 Tage enthalten, aus meinem Backup Ordner rausgelöscht werden. Wichtig zu erwähnen wäre noch, dass das Backup ursprünglich auf einem Linux Server erstellt wird und dann auf einen FTP hochgeladen wird. Der Backup Ordner, in welchem die jeweils 3 Zip Dateien wiederrum in Ordnern mit dem jeweiligen Datum als Name gespeichert ist, ist also auf einem FTP Server, wobei das Script von dem Linux Server aus ausgeführt wird. Ich habe bereits einige Ansätze verfolgt, bin jedoch immer wieder gescheitert. Zuletzt hatte ich den Ansatz, einfach zu dem ausgelesenen Dateidatum in Sekunden die Sekunden von 7 Tagen drauf zu rechnen und anschließend zu vergleichen, ob das heutige Datum größer oder gleich dem ausgelesenen Datum ist. Sofern das der Fall ist, soll der betroffene Ordner gelöscht werden. Dazu bin ich bislang bei folgendem "Script-Versuch" angelangt. Code: (dl
)
1 use strict; Die erste Zeile für Perl, sprich "#!/usr/bin/perl -w" habe ich hier der Lesbarkeit halber ausgelassen. Als Fehler erhalte ich beim ausführen des Perl Scripts folgende Meldung: "Argument "2013-07-26" isn't numeric in addition (+) at ./test_date.pl line 29. usage: $ftp->rmdir( DIR [, RECURSE ] ) at ./test_date.pl line 29 root@*****:/Pfad zum Backup Ordner/auf Linux Maschine/# ./test_date.pl Bareword "RECURSE" not allowed while "strict subs" in use at ./test_date.pl line 30. Execution of ./test_date.pl aborted due to compilation errors." Wer kann mir helfen? Wo liegt mein Problem bei dem Script? Schöne Grüße Dominik Last edited: 2013-08-29 15:52:41 +0200 (CEST) |