#!/usr/bin/perl -w
my
$data_dir
=
"/var/lib/mysql"
;
my
$update_log
=
"$data_dir/www.bar.com"
;
my
$dump_dir
=
"$data_dir/dump"
;
my
$gzip_exec
=
"/bin/gzip"
;
my
@db_names
=
qw(bugs mysql bonsai)
;
my
$mysql_admin_exec
=
"/usr/bin/mysqladmin "
;
my
(
$sec
,
$min
,
$hour
,
$mday
,
$mon
,
$year
) =
localtime
(
time
);
my
$time
=
sprintf
(
"%0.2d:%0.2d:%0.2d"
,
$hour
,
$min
,
$sec
);
my
$date
=
sprintf
(
"%0.2d.%0.2d.%0.4d"
,++
$mon
,
$mday
,
$year
+1900);
my
$timestamp
=
"$date.$time"
;
foreach
my
$db_name
(
@db_names
) {
my
$dump_file
=
"$dump_dir/$timestamp.$db_name.dump"
;
my
$dump_command
=
"/usr/bin/mysqldump -c -e -l -q --flush-logs $db_name > $dump_file"
;
system
$dump_command
;
}
rename
$update_log
,
"$dump_dir/$timestamp.log"
if
-e
$update_log
;
`/usr/bin/mysqladmin refresh`;
system
"$gzip_exec $dump_dir/$timestamp.*"
;