Deja dup:尝试在davfs上读取清单时被拒绝

我已经使用DéjàDup创建了几年的备份。 最近它开始失败的消息

Permission denied when trying to read '/duplicity-inc.20161201T072516Z.to.20161202T074205Z.manifest.gpg'. 

这似乎是程序将备份文件写入同一目录后发生的。 文件和包含目录的所有权似乎是正确的:

 drwxr-xr-x 2 myuser myuser 68K Dec 2 08:47 dejadup-backup/ -rw-r--r-- 1 myuser myuser 13K Dec 2 08:47 dejadup-backup/duplicity-inc.20161201T072516Z.to.20161202T074205Z.manifest.gpg 

目标目录位于通过davfs2安装的远程服务器上。 我的/etc/fstab看起来像这样:

 $ cat /etc/fstab ... # mount the fileserver https://fileserver.domain /mnt/fileserver davfs user,_netdev,auto,uid=myuser,gid=myuser 0 0 

任何可能导致这种情况的想法以及我如何解决它?

使用DEJA_DUP_DEBUG=1 deja-dup --backup > dejadup.log 2>&1打开调试后,您的dejadup.log文件包含:

 DUPLICITY: ERROR 30 EOFError DUPLICITY: . Traceback (most recent call last): DUPLICITY: . File "/usr/bin/duplicity", line 1532, in  DUPLICITY: . with_tempdir(main) DUPLICITY: . File "/usr/bin/duplicity", line 1526, in with_tempdir DUPLICITY: . fn() DUPLICITY: . File "/usr/bin/duplicity", line 1380, in main DUPLICITY: . do_backup(action) DUPLICITY: . File "/usr/bin/duplicity", line 1454, in do_backup DUPLICITY: . globals.gpg_profile.passphrase = get_passphrase(1, action) DUPLICITY: . File "/usr/bin/duplicity", line 198, in get_passphrase DUPLICITY: . pass1 = getpass_safe(_("GnuPG passphrase for decryption:") + " ") DUPLICITY: . File "/usr/bin/duplicity", line 93, in getpass_safe DUPLICITY: . return getpass.getpass(message) DUPLICITY: . File "/usr/lib/python2.7/getpass.py", line 83, in unix_getpass DUPLICITY: . passwd = fallback_getpass(prompt, stream) DUPLICITY: . File "/usr/lib/python2.7/getpass.py", line 118, in fallback_getpass DUPLICITY: . return _raw_input(prompt, stream) DUPLICITY: . File "/usr/lib/python2.7/getpass.py", line 135, in _raw_input DUPLICITY: . raise EOFError DUPLICITY: . EOFError DUPLICITY: . 

再进一步:

 DUPLICITY: DEBUG 1 DUPLICITY: . Backtrace of previous error: Traceback (innermost last): DUPLICITY: . File "/usr/lib/python2.7/dist-packages/duplicity/backend.py", line 365, in inner_retry DUPLICITY: . return fn(self, *args) DUPLICITY: . File "/usr/lib/python2.7/dist-packages/duplicity/backend.py", line 563, in get DUPLICITY: . self.backend._get(remote_filename, local_path) DUPLICITY: . File "/usr/lib/python2.7/dist-packages/duplicity/backends/giobackend.py", line 146, in _get DUPLICITY: . self.__copy_file(source_file, target_file) DUPLICITY: . File "/usr/lib/python2.7/dist-packages/duplicity/backends/giobackend.py", line 119, in __copy_file DUPLICITY: . None, self.__copy_progress, None) DUPLICITY: . Error: g-io-error-quark: Error opening file: Operation not permitted (14) DUPLICITY: . DUPLICITY: WARNING 1 DUPLICITY: . Attempt 1 failed. Error: g-io-error-quark: Error opening file: Operation not permitted (14) 

所以错误必须在davfs端,你应该在本地调查服务器,没有任何错误。