我在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。
答案 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