Files
webmin/mysql/purge_binlogs.cgi
Ilia Ross b3b81af34f Add MySQL binary log management
This PR adds a "Binary Logging" page to configure log format, file size and retention, rotate or purge logs, and support restore sessions that do not write back to binary logs.
2026-08-28 02:16:50 +02:00

26 lines
767 B
Perl
Executable File

#!/usr/local/bin/perl
# Delete old binary logs from the server
require './mysql-lib.pl';
$access{'perms'} == 1 || &error($text{'binlogs_ecannot'});
&error_setup($text{'binlogs_purgeerr'});
&ReadParse();
my ($curfile) = &get_binary_log_status();
$curfile || &error($text{'binlogs_epurgeoff'});
if ($in{'mode'} == 0) {
# Purge logs older than some number of days
$in{'days'} =~ /^\d+$/ && $in{'days'} > 0 ||
&error($text{'binlogs_epurgedays'});
&execute_sql_logged($master_db,
"purge binary logs before date_sub(now(), interval ".
$in{'days'}." day)");
}
else {
# Purge all logs except the one currently being written
&execute_sql_logged($master_db,
"purge binary logs to '".$curfile."'");
}
&webmin_log("purgebinlogs");
&redirect("edit_binlogs.cgi");