저는 몇 년 동안 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
이 문제의 원인과 해결 방법에 대한 아이디어가 있습니까?
답변1
을 사용하여 디버깅을 켠 후 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 <module>
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 측에 있어야 하며 로컬에서는 전혀 문제가 없으므로 서버를 조사해야 합니다.
답변2
검색해서 여기까지 오시는 분들도 비슷한 오류가 있었는데 문제는 /
백업폴더명 앞뒤에 넣는게 문제였네요...