#!/usr/bin/perl use strict; use warnings; use File::stat; use POSIX qw(strftime); my $dbhost = ''; my $dbuser = ''; my $dbname = ''; my $folder = 'backup/'; my $filename = join '.', 'db.backup', time, 'sql'; if ($bp = `mysqldump --host=$dbhost --user=$dbuser --password="dbpassword" $dbname > $folder$filename`) { for my $file(@$folder) { my $time = (stat($file))[9]; my $mod_time = strftime('%M', localtime($time)); if ($mod_time > '30') { unlink glob "$folder/*.sql"; } } } else { die "error"; }