Ecco qui:
codice:#!/usr/bin/perl # backup.pl # Called by cron to backup a database $no_acl_check++; require './mysql-lib.pl'; if ($ARGV[0] eq "--all") { $all = 1; @dbs = &list_databases(); } else { $ARGV[0] || die "Missing database parameter"; @dbs = ( $ARGV[0] ); } $ex = 0; foreach $db (@dbs) { if ($all) { $file = &date_subs("$config{'backup_'}/$db.sql"); } else { $file = &date_subs($config{'backup_'.$db}); } if (!$file) { print STDERR "No backup file set for database $db\n"; exit(1); } $drop = $config{'backup_drop_'.$db} ? "--add-drop-table" : ""; $where = $config{'backup_where_'.$db} ? "\"--where=".$config{'backup_where_'.$db}."\"" : ""; if (&supports_quoting()) { $quoting = " --quote-names"; } @tables = split(/\s+/, $config{'backup_tables_'.$db}); $tables = join(" ", map { quotemeta($_) } @tables); &execute_before($db, STDOUT, 0, $file, $all ? undef : $db); unlink($file); $out = &backquote_logged("$config{'mysqldump'} $authstr $drop $where $quoting ".quotemeta($db)." $tables 2>&1 >$file"); if ($? || $out) { print "Backup of database $db to file $file failed:\n"; print $out; $ex = 1; } &execute_after($db, STDOUT, 0, $file, $all ? undef : $db); } exit($ex);

Rispondi quotando