Delete backup cron job when removing DB

This commit is contained in:
Jamie Cameron
2014-09-01 10:25:30 -07:00
parent cb2771d4ce
commit aaecbcbc62
3 changed files with 18 additions and 0 deletions

View File

@@ -10,6 +10,7 @@ $access{'edonly'} && &error($text{'dbase_ecannot'});
if ($in{'confirm'}) {
# Drop the database
&execute_sql_logged($master_db, "drop database ".&quotestr($in{'db'}));
&delete_database_backup_job($in{'db'});
&webmin_log("delete", "db", $in{'db'});
&redirect("");
}

View File

@@ -16,6 +16,7 @@ if ($in{'confirm'}) {
# Drop the databases
foreach $db (@dbs) {
&execute_sql_logged($master_db,"drop database ".&quotestr($db));
&delete_database_backup_job($db);
}
&webmin_log("delete", "dbs", scalar(@dbs), \%in);
&redirect("");

View File

@@ -1434,5 +1434,21 @@ if ($? || $out) {
return undef;
}
# delete_database_backup_job(db)
# If there is a backup scheduled for some database, remove it
sub delete_database_backup_job
{
my ($db) = @_;
&foreign_require("cron");
my @jobs = &cron::list_cron_jobs();
my $cmd = "$cron_cmd $db";
my ($job) = grep { $_->{'command'} eq $cmd } @jobs;
if ($job) {
&lock_file(&cron::cron_file($job));
&cron::delete_cron_job($job);
&unlock_file(&cron::cron_file($job));
}
}
1;