Das Schlimmste was bei einer Datensicherung schief gehen kann, ist dass die Rücksicherung (Restore) nicht mehr funktioniert, und natürlich passiert das immer, wenn alles eigentlich ganz schnell gehen müsste. (‘Murphy’s Law’)
So ging es mir vor ein paar Tagen mit Amanda’s amrecovery. Nachdem ich eine MySQL-Datenbank verloren hatte, musste ich diese schnell wiederherstellen. Prima dachte ich mir, wofür mache ich schließlich regelmässig Backups. Als ich dann mit amrecovery die Wiederherstellung startet, bekam ich die Fehlermeldung:
Can't talk to tape server: service amidxtaped
Nach einigen Google-Recherchen habe ich entdeckt, dass es sich um ein Problem mit Perl 5.18 handelt.
Damit amrecovery wieder funktioniert, musste ich an folgenden Stellen
Clerk.pm:231 Clerk.pm:265 Planner.pm:231 Planner.pm:342 Planner.pm:393
die Perl-Anweisung
for my $rq_param qw(dump xfer_src_cb)
ändern in
for my $rq_param(qw(dump xfer_src_cb))
Das Problem scheint seit Perl 5.14 zu bestehen, welches die Syntax von Perl wohl restriktiver überprüft.
Interessant ist, dass hierfür bereits von Jean-Louis Martineau ein Patch für amanda 3.2 eingespielt wurde. Allerdings benutze ich aktuell amanda 3.3 und habe dennoch dieses Problem.
Naja, meine Datenbank konnte ich dann doch wiederherstellen, und seitdem ist alles wieder gut, bis zur nächsten Rücksicherung …