Skip to content

butter-backup close funktioniert nicht bei Namen mit Leerzeichen #129

Description

@MaxG87
ERROR: Could not open: No such file or directory
╭─────────────────────────────────────────────────────────────────────────────────────── Traceback (most recent call last) ────────────────────────────────────────────────────────────────────────────────────────╮
│ /home/mgoerner/Werkbank/Hobbys/ButterBackup/projects/shell-interface/src/shell_interface/shell_interface.py:73 in run_cmd                                                                                        │
│                                                                                                                                                                                                                  │
│    70 │   │   env = dict(os.environ)                                                                                                                                                                             │
│    71 │   logger.debug(f"Shell-Befehl ist `{cmd}`.")                                                                                                                                                             │
│    72 │   try:                                                                                                                                                                                                   │
│ ❱  73 │   │   result = subprocess.run(cmd, capture_output=capture_output, check=True, env=env)                                                                                                                   │
│    74 │   except subprocess.CalledProcessError as e:                                                                                                                                                             │
│    75 │   │   errmsg = f"Shell-Befehl `{cmd}` ist fehlgeschlagen."                                                                                                                                               │
│    76 │   │   logger.error(errmsg)                                                                                                                                                                               │
│                                                                                                                                                                                                                  │
│ /home/mgoerner/.local/share/uv/python/cpython-3.13.5-linux-x86_64-gnu/lib/python3.13/subprocess.py:577 in run                                                                                                    │
│                                                                                                                                                                                                                  │
│    574 │   │   │   raise                                                                                                                                                                                         │
│    575 │   │   retcode = process.poll()                                                                                                                                                                          │
│    576 │   │   if check and retcode:                                                                                                                                                                             │
│ ❱  577 │   │   │   raise CalledProcessError(retcode, process.args,                                                                                                                                               │
│    578 │   │   │   │   │   │   │   │   │    output=stdout, stderr=stderr)                                                                                                                                        │
│    579 │   return CompletedProcess(process.args, retcode, stdout, stderr)                                                                                                                                        │
│    580                                                                                                                                                                                                           │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
CalledProcessError: Command '['sudo', 'btrfs', 'filesystem', 'sync', PosixPath('/mnt/ButterBackup/Seagate')]' returned non-zero exit status 1.

The above exception was the direct cause of the following exception:

╭─────────────────────────────────────────────────────────────────────────────────────── Traceback (most recent call last) ────────────────────────────────────────────────────────────────────────────────────────╮
│ /home/mgoerner/Werkbank/Hobbys/ButterBackup/projects/butter-backup/src/butter_backup/cli.py:230 in close                                                                                                         │
│                                                                                                                                                                                                                  │
│   227 │   │   │   │   )                                                                                                                                                                                          │
│   228 │   │   │   │   continue                                                                                                                                                                                   │
│   229 │   │   │   _refresh_sudo(parsed_config.SudoPassCmd)                                                                                                                                                       │
│ ❱ 230 │   │   │   sdm.unmount_device(map_name)                                                                                                                                                                   │
│   231 │   │   │   sdm.close_decrypted_device(map_name)                                                                                                                                                           │
│   232                                                                                                                                                                                                            │
│   233                                                                                                                                                                                                            │
│                                                                                                                                                                                                                  │
│ /home/mgoerner/Werkbank/Hobbys/ButterBackup/projects/storage-device-managers/src/storage_device_managers/__init__.py:493 in unmount_device                                                                       │
│                                                                                                                                                                                                                  │
│   490 │   UnmountError                                                                                                                                                                                           │
│   491 │   │   if `umount` returns a non-zero exit code                                                                                                                                                           │
│   492 │   """                                                                                                                                                                                                    │
│ ❱ 493 │   sync_device(device)                                                                                                                                                                                    │
│   494 │   cmd: sh.StrPathList = ["sudo", "umount", device]                                                                                                                                                       │
│   495 │   try:                                                                                                                                                                                                   │
│   496 │   │   sh.run_cmd(cmd=cmd)                                                                                                                                                                                │
│                                                                                                                                                                                                                  │
│ /home/mgoerner/Werkbank/Hobbys/ButterBackup/projects/storage-device-managers/src/storage_device_managers/__init__.py:472 in sync_device                                                                          │
│                                                                                                                                                                                                                  │
│   469 │   │   │   │   "sync",                                                                                                                                                                                    │
│   470 │   │   │   │   mount_dir,                                                                                                                                                                                 │
│   471 │   │   │   ]                                                                                                                                                                                              │
│ ❱ 472 │   │   │   sh.run_cmd(cmd=btrfs_sync_cmd)                                                                                                                                                                 │
│   473 │   sh.run_cmd(cmd=sync_cmd)                                                                                                                                                                               │
│   474                                                                                                                                                                                                            │
│   475                                                                                                                                                                                                            │
│                                                                                                                                                                                                                  │
│ /home/mgoerner/Werkbank/Hobbys/ButterBackup/projects/shell-interface/src/shell_interface/shell_interface.py:77 in run_cmd                                                                                        │
│                                                                                                                                                                                                                  │
│    74 │   except subprocess.CalledProcessError as e:                                                                                                                                                             │
│    75 │   │   errmsg = f"Shell-Befehl `{cmd}` ist fehlgeschlagen."                                                                                                                                               │
│    76 │   │   logger.error(errmsg)                                                                                                                                                                               │
│ ❱  77 │   │   raise ShellInterfaceError(errmsg) from e                                                                                                                                                           │
│    78 │   return result                                                                                                                                                                                          │
│    79                                                                                                                                                                                                            │
│    80                                                                                                                                                                                                            │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
ShellInterfaceError: Shell-Befehl `['sudo', 'btrfs', 'filesystem', 'sync', PosixPath('/mnt/ButterBackup/Seagate')]` ist fehlgeschlagen.

Der eigentliche Pfad wäre /mnt/ButterBackup/Seagate Blau, also mit Leerzeichen.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions