Czy to prawidłowe użycie rsync do utworzenia kopii zapasowej Raspberry Pi?


10

Przepraszam za moją ignorancję, jestem nowym użytkownikiem tej witryny, Linux i Raspberry Pi.

Poniżej znajduje się link do pytania, z którego skorzystałem z dobrze udokumentowanej odpowiedzi użytkownika goldilocks rsync, aby utworzyć własne rsyncpolecenie tworzenia kopii zapasowej w folderze na dysku twardym MacBooka Pro w mojej sieci lokalnej:

Czy można użyć Raspberry Pi do utworzenia własnej kopii zapasowej?

Nie mogłem odpowiedzieć na to pytanie i nie mogłem wysłać wiadomości do użytkownika goldilocks, ponieważ wydaje się, że nie ma czegoś takiego na Stack Exchange?

Wymyśliłem to:

rsync -aHv --rsync-path="sudo rsync" --delete-during --exclude-from=/Users/user/Documents/rsync-exclude.txt --rsh="ssh" user@host:/ /Users/user/Desktop/rpi-backup/

Z tego, co rozumiem, dodanie --rsync-path="sudo rsync"argumentu pozwala uniknąć konieczności używania (niepewnego) konta roota przez ssh.

Wygląda na to, że wszystko idzie dobrze, ale niestety na końcu transferu pojawia się błąd, który wygląda następująco:

rsync error: some files could not be transferred (code 23) at /BuildRoot/Library/Caches/com.apple.xbs/Sources/rsync/rsync-47/rsync/main.c(1400) [generator=2.6.9]

Czy powinienem się tym martwić, a jeśli tak, to jak to naprawić? Czy może dlatego, że użyłem rsync-exluded.txtpliku, aby wykluczyć kopiowanie niektórych katalogów podczas rsync, a ten błąd tylko to potwierdza?

Ponadto użytkownik powiedział, że nie można wykonać kopii zapasowej na komputerze Mac? Moje polecenie wydawało się działać bez problemów, ponieważ w folderze, który wskazałem jako miejsce docelowe, była oczywiście kopia zapasowa systemu plików. Jedynym problemem był błąd, który otrzymałem na końcu rsync.


Witamy w Stack Exchange (i jego kąciku o smaku Raspberry Pi)! Chociaż nie możesz wysyłać wiadomości do konkretnego użytkownika, jeśli uczestniczysz (początkowo) w zadawaniu dobrych pytań i udzielaniu dobrych odpowiedzi, Twoja reputacja wzrośnie do tego stopnia, że ​​będziesz mógł rozmawiać w pokojach rozmów (reputacja 20+) i dodawać komentarze do materiałów, które są nie twój (50+).
SlySven

Użytkownik „Złotowłosa” jest obecnie jednym z naszych moderatorów (zwróć uwagę na ♦ obok jego nazwy) i jako taki jest dość aktywny - możesz go znaleźć w „ Piekarni ”, która jest głównym czatem Raspberry Pi SE .. Och, i daj +1 za rozsądne pytanie, które pomoże ci w drodze. 8-)
SlySven

Podany link ma wiele różnych wariantów. Rutynowo używam jednego z nich (do tworzenia kopii zapasowych na HDD). Powinieneś określić, gdzie chcesz wykonać kopię zapasową. Niestety, jeśli próbujesz wykonać kopię zapasową na OS X, nie odniesiesz sukcesu z wielu różnych powodów. Możesz powrócić do innej maszyny z systemem Linux.
Milliways,

Dziękujemy za ciepłe przyjęcie SlySven! Mam nadzieję, że w końcu zdobędę wystarczającą liczbę punktów, aby dostać się do tego pokoju rozmów! Milliways, czy mógłbyś wyjaśnić, dlaczego powiedziałeś, że nie uda mi się utworzyć kopii zapasowej na OS X, a może wskażesz mi gdzieś, gdzie to stwierdzenie jest nieco bardziej rozwinięte?
chaoticslacker

Jeśli odwołujesz się do komentarza, powinieneś go rozwiązać (za pomocą @). 1 Unix i Linux rsyncróżnią się, 2 OS X nakłada na Unix własną warstwę, która uniemożliwia dostęp do niektórych katalogów 3 O ile Użytkownicy nie mogą utracić ustawień dopasowania, 4 Uprawnienia na hfxi ext4różnią się znacznie. Tworzenie kopii zapasowych plików użytkownika może być skuteczne, ale pliki systemowe zostaną utracone / utracone uprawnienia.
Milliways,

Odpowiedzi:


1

Jest kilka problemów z robieniem tego, co próbujesz zrobić.

  1. Jak zauważyli inni, tracisz dużo metadanych, przechodząc od ext [234] fs do hfs + iz powrotem. Ponadto domyślnie hfs + zachowuje wielkość liter, ale nie rozróżnia wielkości liter, więc jeśli masz np. / Bin / foo i / bin / Foo, stracisz jedną z nich. Lepiej użyj innej maszyny linux. W bardzo mało prawdopodobnym przypadku, gdy nie masz zapasowej maszyny, po prostu uruchom maszynę wirtualną z linuksem na swoim Macbooku.
  2. opcje rsync nie są złe. Potrzebujesz -avSHxAX, aby poprawnie przesłać wszystkie metadane.
  3. Tak naprawdę nie potrzebujesz --rsync-path lub --rsh. Po prostu zrób to, co robisz jako root i skonfiguruj .ssh / Author_keys na koncie root drugiego komputera, aby umożliwić dostęp. Mniej mylące.
  4. Właściwym sposobem wykonywania kopii zapasowych jest użycie zrzutu / przywracania.

1

Używam rpi-clone codziennie przez kilka tygodni do klonowania mojego działającego RPi3 z Raspian Jessie. Klonowanie na drugiej karcie Micro SD zajmuje około 10 minut. Następnie wyłączam, wyjmuję obie karty, przechowuję oryginał i uruchamiam za pomocą klonu. Dlatego wiem, że kopia zapasowa działa. W ten sposób obracam 3 karty, aby zawsze mieć bezpieczną kartę. Mi to pasuje ;-)


Ciekawy skrypt Geoff, niestety nie mam w tej chwili potrzebnego sprzętu, aby go sprawdzić. Wkrótce to sprawdzę. Dzięki za link.
chaoticslacker
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.