mirror of
https://github.com/webmin/webmin.git
synced 2026-05-04 22:30:33 +01:00
Delete backup cron job when removing DB
This commit is contained in:
@@ -10,6 +10,7 @@ $access{'edonly'} && &error($text{'dbase_ecannot'});
|
||||
if ($in{'confirm'}) {
|
||||
# Drop the database
|
||||
&execute_sql_logged($master_db, "drop database "."estr($in{'db'}));
|
||||
&delete_database_backup_job($in{'db'});
|
||||
&webmin_log("delete", "db", $in{'db'});
|
||||
&redirect("");
|
||||
}
|
||||
|
||||
@@ -16,6 +16,7 @@ if ($in{'confirm'}) {
|
||||
# Drop the databases
|
||||
foreach $db (@dbs) {
|
||||
&execute_sql_logged($master_db,"drop database "."estr($db));
|
||||
&delete_database_backup_job($db);
|
||||
}
|
||||
&webmin_log("delete", "dbs", scalar(@dbs), \%in);
|
||||
&redirect("");
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user