Czyszczenie pliku tymczasowego ~ / .cache / duplicity / temp nie powiodło się

12

Często, kiedy uruchamiam Duplicity, na końcu przebiegu widzę taki komunikat o błędzie:

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

Wspomniany katalog będzie zawierał około dziesięciu plików, które zostaną usunięte przy następnym uruchomieniu Duplicity.

Masz pojęcie, dlaczego czasem się to nie udaje podczas uruchamiania przyrostowych kopii zapasowych? Sam nie widziałem w tym żadnego wzorca i nie miałem szczęścia znaleźć innych wspominających ten sam problem. Jakiś facet z jakiejś listy e-mailowej wspomniał kiedyś, że jego lokalizacja spowodowała problemy z Duplicity. Próbowałem zmienić język norweski z bokmål na en-US, ale nadal widzę problem.

Czy to tylko normalne działanie w przypadku Duplicity?

Widząc to na trzech różnych systemach: dwóch 64-bitowych komputerach Ubuntu 13.04 i 64-bitowych Ubuntu Server 13.04.

Aeyoun
źródło
Mam również ten problem, ponieważ przenoszę moje zadanie cron duplikatu do wykonania przez użytkownika root zamiast użytkownika sudo. Zastanawiam się, czy w jakiś sposób duplikat nie ma możliwości usunięcia plików tymczasowych, które tworzy podczas uruchamiania skryptu umieszczonego przed użytkownikiem root?
Lonniebiz
Nadal mam nadzieję na odpowiedź tutaj.
Lonniebiz
Czy zainstalowałeś GunPG? Miałem ten sam problem (w OS X), dopóki nie zainstalowałem narzędzi GPG.
Cédric

Odpowiedzi:

1

Może się tak zdarzyć, jeśli wcześniej działałeś duplicityjako root. Pliki będą należeć do użytkownika root i dlatego nie mogą zostać usunięte przez użytkownika nieuprzywilejowanego. Po prostu zmiana właściciela plików naprawi to, jeśli tak jest:

$ sudo chown -R user /home/user/.cache/duplicity/
Kusalananda
źródło
0

Prawidłowo skonfigurowana Duplicity nie powinna tego robić.

Przydatne mogą być następujące kroki: Duplikat

Wiem, że korzystasz z Ubuntu, ale nie mogę znaleźć dla ciebie odpowiedniego źródła. To powinno być uniwersalne.

LinuxSecurityFreak
źródło
0

Może spróbuj zmodyfikować /usr/lib/python2.7/dist-packages/duplicity/tempdir.py(lub gdziekolwiek ten plik jest w systemie), aby dodać bardziej szczegółową procedurę obsługi wyjątków, wydaje się, że robi to tylko:

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

Bardziej szczegółowa procedura obsługi błędów dodana przed tym może spróbować pokazać bardziej szczegółowy numer błędu:

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

Uruchomienie go poniżej stracespowoduje wyświetlenie errno unlinkwywołania, ale prawdopodobnie będzie wolniejsze i zmarnuje dużo miejsca na dysku dla dziennika, szczególnie. biorąc pod uwagę naturę tego, co powoduje podwójność.

Josip Rodin
źródło