使用Duplicity将特定文件夹备份到Azure Blob存储

时间:2016-10-26 09:33:43

标签: azure duplicity

我在Microsoft Azure上运行了一个Ubuntu 16.04 VM。我还有一个Azure存储帐户。我正在尝试使用duplicity将文件夹从Ubuntu备份到azure容器下的子文件夹。

我使用以下命令:

/usr/bin/duplicity -v4 --volsize=25 --log-file=/home/<<user_name>>/duplicity-test/logs/duplicity-log.log --full-if-older-than 30D --asynchronous-upload  /home/<<user_name>>/duplicity-test/alf_data azure://bart-test-2/alf_data

此操作失败,并显示错误消息:

Could not create Azure container: The requested URI does not represent any resource on the server.

但是,如果我没有在Azure URL上指定子文件夹,则没有错误,如下所示:

/usr/bin/duplicity -v4 --volsize=25 --log-file=/home/<<user_name>>/duplicity-test/logs/duplicity-log.log --full-if-older-than 30D --asynchronous-upload  /home/<<user_name>>/duplicity-test/alf_data azure://bart-test-2

但在后一种情况下,duplicity只是将文件放在Azure容器的根文件夹中,而不是在我想要的子文件夹中。

有没有办法让Duplicity在Azure容器中使用子文件夹?

由于 VIPUL。

1 个答案:

答案 0 :(得分:1)

看起来他们在路径中不允许'/'。来自Azure论坛的This post说:

  

我们不允许路径中的'/',即$ root下的虚拟文件夹。您必须创建容器。有关详细信息,请参阅http://msdn.microsoft.com/en-us/library/ee395424.aspx

我认为子目录名称实际上是唯一的,您不需要完整路径。只需使用子目录名即可以逃脱。

你试过了吗?

/usr/bin/duplicity -v4 --volsize=25 --log-file=/home/<<user_name>>/duplicity-test/logs/duplicity-log.log --full-if-older-than 30D --asynchronous-upload  /home/<<user_name>>/duplicity-test/alf_data azure://alf_data