我已经在我的应用程序中配置了 Spatie/Laravel 备份,并且我已经为此安排了工作,它每天都会自动进行备份。但是我可以只保存最近的 5 或 10 个系统备份吗?如果创建了新备份,则应删除最旧的备份!这是我的备份配置文件清理策略:
'cleanup' => [
/*
* The strategy that will be used to cleanup old backups. The default strategy
* will keep all backups for a certain amount of days. After that period only
* a daily backup will be kept. After that period only weekly backups will
* be kept and so on.
*
* No matter how you configure it the default strategy will never
* delete the newest backup.
*/
'strategy' => \Spatie\Backup\Tasks\Cleanup\Strategies\DefaultStrategy::class,
'default_strategy' => [
/*
* The number of days for which backups must be kept.
*/
'keep_all_backups_for_days' => 7,
/*
* The number of days for which daily backups must be kept.
*/
'keep_daily_backups_for_days' => 16,
/*
* The number of weeks for which one weekly backup must be kept.
*/
'keep_weekly_backups_for_weeks' => 8,
/*
* The number of months for which one monthly backup must be kept.
*/
'keep_monthly_backups_for_months' => 4,
/*
* The number of years for which one yearly backup must be kept.
*/
'keep_yearly_backups_for_years' => 2,
/*
* After cleaning up the backups remove the oldest backup until
* this amount of megabytes has been reached.
*/
'delete_oldest_backups_when_using_more_megabytes_than' => 5000,
],
],
这是创建备份的功能!
public function create()
{
try {
// start the backup process
\Illuminate\Support\Facades\Artisan::call('backup:run');
$output = \Illuminate\Support\Facades\Artisan::output();
// log the results
Log::info("Backpack\BackupManager -- new backup started from admin interface \r\n" . $output);
// return the results as a response to the ajax call
return redirect('/backups')->with('message', 'Backup Created Successfully!')->with('alertType', 'alert-success');
} catch (Exception $e) {
return redirect('/backups')->with('message', 'Backup Failed, Try again')->with('alertType', 'alert-warning');
}
}