Ich habe ein Skript, welches automatisch per FTP Dateien mit bestimmten Namensinhalt downloaded.
Es geht hier um Backups. Einmal die Woche werden zweitägige backups auf einen Server geschoben.
Die Namensgebung ist fast immer gleich, da Backups von verschiedenen Admins geladen werden.
Bsp:
Code: Select all
back-server2-02.03.07.tar.gz
backup-sven-02.03.07.tar.bz2Code: Select all
#!/usr/bin/perl -w
use strict;
use Net::FTP;
my ($Server, $Login, $Password, $Path) = ('server-ip', 'username',
'password', '/lokales-verzeichnis-quellserver');
my $localPath = '/lokales-verzeichnis-zielserver';
my $match = '02.03.07';
my $ftp = Net::FTP->new($Server, Timeout => 120, Debug => 0) || die "no
connectionn";
$ftp->login($Login, $Password);
$ftp->cwd($Path) if ($Path);
$ftp->binary();
my @files = $ftp->ls;
foreach (@files) {
if (/$match/) {
print "get $_n";
$ftp->get($_, $localPath.$_);
}
}
$ftp->quit();
Nun habe ich nicht viel Ahnung vom skripten und Perl. Die Suche im Forum und bei google brachte nicht viel aufschlussreiches.
Ich möchte idealer Weise das Skript so umschreiben, dass der Server alle Dateien mit einem bestimmten Namesinhalt auf den Backupspace läd. Es sind teilweise mehrere Backupdateien.
Könnte mir jemand Tipps geben, wie das zu bewerkstelligen ist, oder vllt. sogar ein Skript empfehlen?
mfg
bwar