Skip to content
This repository was archived by the owner on Jul 18, 2024. It is now read-only.
This repository was archived by the owner on Jul 18, 2024. It is now read-only.

base path its self included in transfer when using --strip-components #117

Closed
@krezreb

Description

@krezreb

Problem Description

I am transferring between two containers in two storage accounts, let's call them a and b.
container a is a backup archive containing paths to different app backups, e.g.

a
   app1/data/
   app2/data/
   etc...

Container b is used directly by app1. Its root structure is the same as a/app1/data

So when I transfer between the two, I am using --strip-components 2 to remove app1/data from the blob paths.

Below is my exact command:

export SRC_CONTAINER=a
export SRC_PATH=app1/data
export DEST_CONTAINER=b

blobxfer synccopy \
--server-side-copy --progress-bar --delete \
--skip-on-md5-match \
--overwrite \
--remote-path $SRC_CONTAINER/$SRC_PATH \
--storage-account $SRC_STORAGE_ACCOUNT \
--sync-copy-dest-storage-account  $DEST_STORAGE_ACCOUNT \
--sync-copy-dest-remote-path $DEST_CONTAINER \
--strip-components 2  

I am unable to do the actual sync, see #118

However, when using --dry-run, it seems that that blobxfer is trying to create the parent folder its self on the destination.

2020-04-24 14:24:12.280 INFO - blobxfer start time: 2020-04-24 14:24:12.280271+02:00
2020-04-24 14:24:12.280 DEBUG - spawning 32 transfer threads
2020-04-24 14:24:20.144 INFO - [DRY RUN] synccopy: a/app1/data -> b/data
2020-04-24 14:24:20.197 INFO - [DRY RUN] synccopy: a/app1/data/CFS -> b/CFS
2020-04-24 14:24:20.247 INFO - [DRY RUN] synccopy: a/app1/data/CFS/2019 -> b/CFS/2019

In other words, a/app1/data -> b/data should not be there.

If I exclude it with --exclude $SRC_PATH , it looks ok, but I shouldn't have to do this in the first place.

Azure blobxfer parameters output

============================================
         Azure blobxfer parameters
============================================
         blobxfer version: 1.9.4
                 platform: Linux-5.4.0-26-generic-x86_64-with-glibc2.29
               components: CPython=3.8.2-64bit azstor.blob=2.1.0 azstor.file=2.1.0 crypt=2.8 req=2.22.0
       transfer direction: Azure -> Azure
                  workers: disk=0 xfer=32 md5=0 crypto=0
                 log file: None
                  dry run: True
              resume file: None
                  timeout: connect=10 read=200 max_retries=1000
              source mode: StorageModes.Auto
                dest mode: StorageModes.Auto
         server side copy: True
                  skip on: fs_match=False lmt_ge=False md5=True
                   delete: extraneous=True only=False
                overwrite: True
                recursive: True
            rename single: False
         strip components: 2
              access tier: None
============================================

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions