bwar
Registered User
Hallo!
Ich habe ein Skript, welches mir freundlicher Weise hier im Forum gegeben wurde. Es downloaded automatisch per FTP Dateien mit bestimmten Namensinhalt.
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:
Hier das Skript, was sich per FTP mit einem Quellserver verbindet und alle Dateien mit dem Inhalt "02.03.07" holt.
Nun habe ich einen Backupspace mit FTP-Zugang zum Server, der die Backups mit dem oben genannten Skript holt, hinzugemietet. Der Backupspace ist nur netzintern erreichbar, sodass der Server alle Backups holt und dann zum Backupspace hochladen muss.
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
Ich habe ein Skript, welches mir freundlicher Weise hier im Forum gegeben wurde. Es downloaded automatisch per FTP Dateien mit bestimmten Namensinhalt.
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:
back-server2-02.03.07.tar.gz
backup-sven-02.03.07.tar.bz2
Hier das Skript, was sich per FTP mit einem Quellserver verbindet und alle Dateien mit dem Inhalt "02.03.07" holt.
Code:
#!/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
connection\n";
$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 einen Backupspace mit FTP-Zugang zum Server, der die Backups mit dem oben genannten Skript holt, hinzugemietet. Der Backupspace ist nur netzintern erreichbar, sodass der Server alle Backups holt und dann zum Backupspace hochladen muss.
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