#!/usr/bin/perl -w # Aruba MySQL db backup v1.0 (20100623) use strict; use CGI::Pretty ":standard"; use CGI::Carp qw(fatalsToBrowser); # only for debugging $ENV{PATH} = "/bin:/usr/bin:/usr/local/bin"; ## CONFIG my $host = "AA.BB.CC.DD"; my $user = "SqlNNNNNN"; my $pass = "XXXXXXXX"; my $dbnm = $user."_1 ".$user."_2 ".$user."_3 ".$user."_4 ".$user."_5 "; ## END CONFIG my $domain = url(); # regexps from http://www.willmaster.com/blog/perl/extracting-domain-name-from-url.php $domain =~ s!^https?://(?:www\.)?!!i; $domain =~ s!/.*!!; $domain =~ s/[\?\#\:].*//; my $cgi = new CGI; my $filename="backup_" . $domain . ".sql.bz2"; print $cgi->header(-type=>"application/x-tar-bzip2", -attachment=>$filename); exec "mysqldump --password=$pass --user=$user --host=$host --databases $dbnm | bzip2 -9 -"; die "cannot exec: $!";