Thread Skript für automatische Backups (27 answers)
Opened by mollilinux at 2010-02-23 14:06

mollilinux
 2010-02-23 16:00
#133525 #133525
User since
2010-02-16
19 Artikel
BenutzerIn
[default_avatar]
pq
das system("doConnect() ...") kommt mir etwas merkwürdig vor, aber das hab ich mal so gelassen, weil ich nicht weiss, welche shell du benutzt und was das bezwecken soll.


Also ich verwende die bash shell unter Gentoo GNU Linux.

Taulmarill

Btw. zum kopieren von Dateien besser scp als ssh benutzen.


Das mit SCP scheint einfacher zu sein, auch zum schreiben ist es viel übersichtlicher.

Habe jetzt den Code etwas umgekrempelt mit SCP.

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#!/usr/bin/perl

# Verbindung via SCP
use Net::SCP qw(scp);

# Login Informationen
my $user = "USER";
my $host = "HOST";

my $startTime = getUnixTime();
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 ) {
        # doConnect(); mit scp-new ersetzt
        $scp = Net::SCP->new($host, $user);
        # doAuth(); - braucht kein Passwort da SSH-Key hinterlegt
      }
      $tmp = getUnixTime();
      $duration = $tmp - $timeNow;
      $timeNow = tmp;
    }

    getLogs();
    disconnect();
    $auth = 0;
  }

  $duration = getUnixTime() - $timeNow;
  $timeNow = getUnixTime();
}


Statt der Funktion getUnixTime() muss ich die einsetzen, mit der Perl eben den Unix timestamp zurückgibt. (Keine Ahnung, welche das ist, deshalb hab ich das so geschrieben). Damit die Schleifen funktionieren will ich einen unixtime stamp einsetzen

Hab mal im ersten Beitrag beim code was versucht keine Ahnung ob das das richtige ist.

Kann mir jemand helfen?

Gruss mollilinux
Last edited: 2010-02-23 17:23:45 +0100 (CET)

View full thread Skript für automatische Backups