A limpeza do arquivo temporário ~ / .cache / duplicity / temp falhou

12

Muitas vezes, quando executo o Duplicity, vejo uma mensagem de erro como esta no final da execução:

Cleanup of temporary file /home/user/.cache/duplicity/9a169830d41477b2dbc3c5b32edd4e8a/duplicity-MEXhMY-tempdir/mktemp-StAkzj-1 failed

O diretório mencionado conterá dez ou mais arquivos que serão excluídos na próxima vez que eu executar o Duplicity.

Alguma idéia de por que isso algumas vezes falha ao executar backups incrementais? Eu não vi nenhum padrão para mim e tive pouca sorte em encontrar outros mencionando o mesmo problema. Algum cara em alguma lista de email uma vez mencionou que sua localidade causou problemas de Duplicidade. Eu tentei mudar do meu local norueguês normal para pt-EUA, mas ainda vejo o problema.

Isso é apenas uma operação normal para Duplicidade?

Veja em três sistemas diferentes: dois desktops Ubuntu 13.04 de 64 bits e um Ubuntu Server 13.04 de 64 bits.

    
por Aeyoun 06.09.2013 / 22:25

3 respostas

1

Isso pode acontecer se você já executou duplicity como root. Os arquivos pertencerão ao usuário root e, portanto, não poderão ser removidos por um usuário não privilegiado. Basta alterar o proprietário dos arquivos para corrigir isso, se for o caso:

$ sudo chmod -R user /home/user/.cache/duplicity/
    
por 15.08.2016 / 09:26
0

Configurada corretamente A duplicidade não deve fazer isso.

Você pode achar estas etapas úteis: Duplicidade

Eu sei que você está no Ubuntu, mas não consigo encontrar nenhuma fonte adequada para você. deve ser universal.

    
por 09.08.2015 / 13:29
0

Talvez seja possível modificar /usr/lib/python2.7/dist-packages/duplicity/tempdir.py (ou onde quer que o arquivo esteja em seu sistema) para adicionar um manipulador de exceções mais específico. Ele parece fazer exatamente isso:

except Exception:
    log.Info(_("Cleanup of temporary file %s failed") % util.ufn(file))
pass

Um manipulador de erro mais específico adicionado antes disso pode tentar mostrar o número de erro mais específico:

except OSError as ex:
    log.Info(_("Cleanup of temporary file %s failed with errno %d") % (util.ufn(file), ex.errno))
pass

A execução em strace mostraria o erro da chamada unlink , mas provavelmente seria mais lento e consumiria muito espaço em disco para o log, esp. dada a natureza do que a duplicidade faz.

    
por 27.05.2016 / 22:56