X-Git-Url: http://git.rot13.org/?p=BackupPC.git;a=blobdiff_plain;f=bin%2FBackupPC_ASA_PostArchive_Update;h=757c93d8b33cee48ccba3af6c197d12d031c4b0c;hp=445a1712e4a4cec0aa30e22e3cf33702c57380e6;hb=7ea17fdc1fa132601268e2b4c0a2046af7eb9180;hpb=397087352b124ac10a4b3a8496ce11dbbe5333eb diff --git a/bin/BackupPC_ASA_PostArchive_Update b/bin/BackupPC_ASA_PostArchive_Update index 445a171..757c93d 100755 --- a/bin/BackupPC_ASA_PostArchive_Update +++ b/bin/BackupPC_ASA_PostArchive_Update @@ -80,21 +80,22 @@ sub get_backup_id($$) { my $key = "$host $num"; return $hsn_cache->{$key} if ($hsn_cache->{$key}); + # all backup parts will be attached to first share in backups my $sth = $dbh->prepare(qq{ SELECT - backups.id + min(backups.id) FROM backups INNER JOIN shares ON backups.shareID=shares.ID INNER JOIN hosts ON backups.hostID = hosts.ID WHERE hosts.name = ? and backups.num = ? }); $sth->execute($host, $num); - die "can't find backup $host:$num" unless $sth->rows; + die "can't find backup $host:$num" unless $sth->rows == 1; my ($id) = $sth->fetchrow_array; - $hsn_cache->{"$host $num"} = $id; + $hsn_cache->{$key} = $id; - print STDERR "# $host $num == $id\n" if $opt->debug; + print STDERR "# $key == $id\n" if $opt->debug; return $id; } @@ -402,6 +403,8 @@ sub check_archive { #----- main +exit unless $opt->host; + foreach ( 0 .. $#{ $opt->host } ) { my $host = lc $opt->host->[$_];