diff --git a/backend/main.py b/backend/main.py
index 08db882..eaa6e0a 100644
--- a/backend/main.py
+++ b/backend/main.py
@@ -1929,6 +1929,19 @@ async def restore_backup(
return {"restored": filename, "auto_backup": auto_dst.name if src.exists() else None}
+@app.delete("/api/admin/backup/{filename}")
+async def delete_backup(
+ filename: str,
+ current_user: User = Depends(get_current_admin),
+):
+ """Delete a backup file."""
+ fp = BACKUP_DIR / filename
+ if not fp.exists() or ".." in filename:
+ raise HTTPException(status_code=404, detail="Backup not found")
+ fp.unlink()
+ return {"deleted": filename}
+
+
@app.post("/api/admin/reset/{section}")
async def reset_section(
section: str,
diff --git a/frontend/src/pages/Settings.jsx b/frontend/src/pages/Settings.jsx
index 81651bd..42f99c2 100644
--- a/frontend/src/pages/Settings.jsx
+++ b/frontend/src/pages/Settings.jsx
@@ -218,6 +218,22 @@ export default function Settings() {
>
還原
+
))