cleanBackups function
Clean old backup files.
Implementation
Future<int> cleanBackups(String directory, {int maxAge = 86400}) async {
var cleaned = 0;
final cutoff = DateTime.now().subtract(Duration(seconds: maxAge));
await for (final entity in Directory(directory).list(recursive: true)) {
if (entity is File && entity.path.contains('.bak.')) {
final stat = await entity.stat();
if (stat.modified.isBefore(cutoff)) {
await entity.delete();
cleaned++;
}
}
}
return cleaned;
}