w tym pliki w katalogu dowiązania symbolicznego podczas tworzenia kopii zapasowej z podwójnością

8

Tworzę kopię zapasową za pomocą Duplicity, świetnego narzędzia. Nie mogę dołączyć do kopii zapasowej plików znajdujących się w katalogu będącym dowiązaniem symbolicznym.

Wykorzystując następujące:

duplicity <dup args> --include /var/www/**/current --exclude '**'

podwójność spowoduje utworzenie kopii zapasowej tylko dowiązania symbolicznego, którego próbowałem:

duplicity <dup args> --include /var/www/**/current/* --exclude '**'
# and
duplicity <dup args> --include /var/www/**/current/** --exclude '**'

Nawet wtedy dowiązanie symboliczne nie jest archiwizowane.

„bieżący” katalog prowadzi do katalogu takiego jak: /var/www/host.com/de9f2c7fd25e1b3afad3e85a0bd17d9b100db4b3

Pliki zawierają kilka statycznych plików HTML i CSS. Chcę utworzyć kopię zapasową tych plików, niezależnie od tego, na który katalog „bieżący” wskazuje.

Każda pomoc doceniona.

Obrabować
źródło

Odpowiedzi:

12

Podwójność nie podąża za dowiązaniami symbolicznymi z założenia . Dzieje się tak, ponieważ jeśli spróbujesz przywrócić z tego, przywróci on rzeczywiste pliki, a nie dowiązanie symboliczne! Nie jest to bardzo dobra kopia zapasowa, jeśli nie przywraca rzeczy do poprzedniego stanu. Powinien być jednak w stanie wykonać kopię zapasową samego dowiązania symbolicznego, a następnie należy wykonać kopię zapasową danych z dowiązaniem symbolicznym osobno.

Darth Android
źródło
Tak, mój skrypt musi być trochę mądrzejszy w zakresie sposobu decydowania o tym, co ma zostać uwzględnione. Dzięki za informację.
Rob
1

Począwszy od Duplicity 0.8, --copy-linksflaga powinna robić dokładnie to, co chcesz: https://code.launchpad.net/~horgh/duplicity/copy-symlink-targets-721599

To pozwala nam wyłuskać i uwzględnić w naszej kopii zapasowej, które dowiązania symboliczne wskazują.

Nazwałem argument --copy-links. Jest to nazwa, którą rsync nadaje podobnej fladze.

ziedaniel1
źródło