backup(cli): use FHS-compliant default backup directory

- Replace dynamic repo name detection with stable default
- Switch default backups directory from /Backups to /var/lib/backup
- Align CLI defaults with Linux FHS best practices

https://chatgpt.com/share/69515eed-001c-800f-b1da-aee8d8683e63
This commit is contained in:
2025-12-28 17:46:31 +01:00
parent 71f79929be
commit 88b35ee923

View File

@@ -4,22 +4,6 @@ import argparse
import os import os
from pathlib import Path from pathlib import Path
def _default_repo_name() -> str:
"""
Derive the repository name from the folder that contains `src/`.
Expected layout:
<repo-root>/src/baudolo/backup/cli.py
=> parents[0]=backup, [1]=baudolo, [2]=src, [3]=repo-root
"""
try:
return Path(__file__).resolve().parents[3].name
except Exception:
return "backup-docker-to-local"
def parse_args() -> argparse.Namespace: def parse_args() -> argparse.Namespace:
dirname = os.path.dirname(__file__) dirname = os.path.dirname(__file__)
default_databases_csv = os.path.join(dirname, "databases.csv") default_databases_csv = os.path.join(dirname, "databases.csv")
@@ -41,7 +25,7 @@ def parse_args() -> argparse.Namespace:
p.add_argument( p.add_argument(
"--repo-name", "--repo-name",
default=_default_repo_name(), default='backup-docker-to-local',
help="Backup repo folder name under <backups-dir>/<machine-id>/ (default: git repo folder name)", help="Backup repo folder name under <backups-dir>/<machine-id>/ (default: git repo folder name)",
) )
p.add_argument( p.add_argument(
@@ -51,8 +35,8 @@ def parse_args() -> argparse.Namespace:
) )
p.add_argument( p.add_argument(
"--backups-dir", "--backups-dir",
default="/Backups", default="/var/lib/backup/",
help="Backup root directory (default: /Backups)", help="Backup root directory (default: /var/lib/backup/)",
) )
p.add_argument( p.add_argument(