#!/usr/bin/perl use POSIX; # Unix Timestamp use Net::SCP qw(scp); # Datentransfer via SCP # Login Informationen my $user = 'USER'; my $host = 'HOST'; # Dateiinformationen my $file_path = 'PATH_TO_FILE'; # Pfad zu Protokoll my $filenumber = 0; my $filename = 'FILE'; my $newfile = $filename.$filenumber; my $nextnumber = $filenumber++; # Zeitabfrage my $localtime = time(); my $startTime = time(); my $timeNow = $startTime; my $duration = 0; my $auth = 0; my $tmp; while (true) { # daemon-Schleife if ( ( ($timeNow - $startTime) % (120 + $duration) ) == 0 ) { while ( not $auth ) { # Verbindungsschleife if ( ( ($timeNow - ($startTime+$duration)) % 5 ) == 0 ) { print "Verbindung wird hergestellt... \n", scalar $scp, "\n"; $scp = Net::SCP->new($host); $scp->login($user); $auth = $scp->login($user); # Wenn Verbindung erfolgreich, dann weiter. } $tmp = time(); $duration = $tmp - $timeNow; $timeNow = $tmp; } # Protokoll(e) herunterladen print "Protokolle werden heruntergeladen... \n", scalar $firefox_path, "\n"; if (-e $filename) { rename($filename, $newfile) or warn "Datei konnte nicht umbenannt werden. \n"; while (-e $newfile) { # Existiert FILE0, dann FILE1. $nextnumber; $newfile.$filenumber; } print "Datei existiert bereits, neuer Name vorschlagen...\n"; $scp->get($file_path) or die $scp->{errstr}; print "Ausgabe: ", scalar $scp, "\n"; } else { print "Datei existiert noch nicht. \n"; $scp->get($file_path) or die $scp->{errstr}; print "Ausgabe: ", scalar $scp, "\n" } print "Verbindung wird getrennt...\n"; $scp->quit; # Verbindung trennen $auth = 0; }