Obecnie tworzę kopię zapasową zawartości zewnętrznego dysku twardego A, usuwając wszystko z docelowego zewnętrznego dysku twardego B i (2) kopiując wszystko od A do B (w Finderze). Zewnętrzny dysk twardy zawiera tylko „podstawowe dane” (foldery, obrazy, filmy, dokumenty itp.), Nic szczególnego / dziwnego.
Ale przy wszystkich niesamowitych darmowych narzędziach, które istnieją, nie mogłem znaleźć przyzwoitego narzędzia do tworzenia kopii zapasowych (sugestie zaakceptowane).
Chcę to zautomatyzować. Po kilku wyszukiwaniach wydaje się, że mogę użyć rsync
. Chcę następnie zautomatyzować to za pomocą, rsync
aby uniknąć kopiowania plików, które są już na docelowym dysku twardym (oczywiście, jeśli dokonano zmiany, chcę zaktualizować plik / folder; to samo z usuniętymi plikami / folderami lub nowymi plikami / foldery; chodzi o naśladowanie tego, co zwykle robię ręcznie za pomocą Findera).
Dotarłem do tego punktu
rsync -av --progress --delete /Volumes/A/ /Volumes/B
Teraz dziennik jest pełen plików, którego nazwa zaczyna się .
lub ._
nawet ._.
. Czy są potrzebne?
Pytanie
Jak mogę skopiować tylko te pliki, które są ważne, pozostawiając te, które nie mają znaczenia. Na przykład, jeśli photo.png
tak, spodziewam się skopiować photo.png
, nie ._photo.png
wiele plików.
Co --exclude
czy --exclude-from
można bezpiecznie stosować na Mac? Dobrą regułą może być „po prostu skopiuj wszystko, co pokazuje Finder”, co skopiowałbym, gdybym ręcznie przeszedł przez wszystkie foldery.
Dodatkowe pytanie
Czy -av --progress --delete
wystarczy? Czy popełniam przestępstwo lub ryzykuję niektóre dane? Jakich opcji byś użył.
Proszę o odpowiedź z kilkoma argumentami, byłbym wdzięczny.
Szukam sposobu automatyzacji, rsync
który wydaje się dość potężny i darmowy.
źródło
Odpowiedzi:
Aby uzyskać maksymalne bezpieczeństwo, skopiuj wszystko
Najbezpieczniejszym rozwiązaniem jest skopiować wszystko , łącznie niewidocznych plików meta-danych.
Pliki zwykle istnieją z jakiegoś powodu i wraz ze zmianami oprogramowania, podobnie będzie z istnieniem, celem i zawartością tych plików metadanych. Kopiowanie wszystkiego zmniejszy obciążenie związane z konserwacją i zapewni spokój umysłu, że nic nie zostanie utracone.
Plik dziennika utworzony przez
rsync
będzie technicznie związany z samą naturąrsync
bycia narzędziem wiersza poleceń. Rozważ przedstawienie uporządkowanego, przefiltrowanego metadanych, a może nawet kodowanego kolorowo wyjścia, które użytkownik może sprawdzić. Możesz to zrobić za pomocą szerokiej gamy narzędzi skryptowych i języków. Jeśli potrzebujesz pomocy z tym podejściem, zadaj więcej pytań tutaj na Ask Different i StackOverflow .Usuń ostatnie i skopiuj zasoby OS X
Jeśli chodzi o
rsync
flagi, spójrz na pytanie Najszybszy i najbezpieczniejszy sposób kopiowania ogromnych danych z jednego dysku zewnętrznego na inny . W tym pytaniu zastosowano kilka dodatkowych flag i wyjaśniono:W tej sytuacji
E
zapewnią skopiowanie widelców zasobów i innych właściwości specyficznych dla komputerów Mac.Możesz rozważyć
--delete-after
uniknięcie usuwania, dopóki kopia nie zostanie ukończona; należy pamiętać, że takie podejście może potencjalnie wymagać dysku docelowego dwa razy większego niż źródło.Możliwe wyłączenia
Odpowiedź na powiązane pytanie: Jak pominąć pliki renderowania FCPX z kopii zapasowej Time Machine? , podał przydatne łącze plików i folderów systemu OS X, które można wykluczyć z większości kopii zapasowych . Ten link zawiera praktyczną listę wzorców plików, folderów i ścieżek, które można wykluczyć.
Dołącz pliki kropek
Istnieją dobre powody, aby wykonać kopię zapasową plików zaczynających się od kropek,
.*
pasujących plików.Niektóre programy przechowują preferencje, ustawienia i inne informacje o wartości w folderach na górze folderu użytkownika w folderach z niewidocznymi kropkami. Uruchomienie
ls -la ~/
ujawni te foldery i pliki.Jeśli jakikolwiek użytkownik używa lub ma oprogramowanie, które z kolei korzysta z oprogramowania do kontroli wersji, należy wykonać kopię zapasową plików kropek. Programy takie jak subversion i git przechowują krytyczne informacje w swoich folderach kropek. Te ukryte foldery można rozrzucać po całym systemie plików, w którym projekt jest sprawdzany.
Reflektor i dostęp do dysku
Spotlight to usługa wyszukiwania OS X. Spotlight wykorzystuje ten
mdworker
proces do indeksowania i aktualizowania katalogu wyszukiwania. Jeśli obawiasz się możliwego uszkodzenia dysku lub powolnych kopii, wyłączeniemdworker
podczas działaniarsync
może pomóc. Osobiście zostawiam Spotlight działający podczas dużychrsync
transferów.źródło
rsync
.E
I--delete-after
są kluczowe punkty, które czynią z tego odebrać wygraną jednej.-E
nowszych wersjach jest coś,-X
co według mnie jest zalecane w niektórych miejscach, który z nich jest poprawny? Czy oboje? Chciałbym zaktualizować, pseudo-kompletny, który obejmuje większość ogólnych zmartwień. Czy kopiowanie plików Spotlight byłoby łatwiejsze i szybsze niż ich generowanie? Jak mogę zatrzymać Spotlight, aby tymczasem nie zadziałał? A cocaffeinate
z procesem? A może jest tak, jeśli jest to tylko lista kopii zapasowych, która uniemożliwia indeksowanie przez Spotlight, a tym bardziej zmartwień itp. Na wiele z tych pytań na pewno odpowiedziano.Jeśli używasz
rsync
wersji 3.0.6 zgodnie z Carbon Copy Cloner lub 3.1.2 zgodnie z Homebrew, możesz wziąć pod uwagę argumenty Carbon Copy Cloner:rsync -A -X -H -p --fileflags --force-change -l -N -rtx --protect-decmpfs --numeric-ids -go --delete-during --backup --backup-dir=</PATH/TO/STICK/BACKUP_when_using_delete> --protect-args <SRC>/ <DEST>
źródło
--protect-decmpfs
nie jest już dostępny od wersji 3.1.3, patrz github.com/Homebrew/homebrew-core/pull/23415 .Odradzam czyszczenie metadanych podczas tworzenia kopii zapasowej, szczególnie plików kropek, np
._$filename
. Jeśli jednak naprawdę chcesz wykluczyć pliki kropek zrsync
polecenia, dodaj--exclude '.*'
je.źródło
'.*'
i'/.*'
?). Nie sądzę, że Finder kopiuje je wszystkie, może to być tylko niektóre powiązane. W takim przypadku wolałbym wykluczyć tylko te, które są niepotrzebne (np.DS_Store
.). I tak, te, które mogą być ważne, ale których nie chcę mieć w swoim dzienniku, mogę filtrować według wyrażeń regularnych.A
dysku.Obecne odpowiedzi nie są do końca zadowolone, ale postaram się tutaj przedstawić trochę możliwości, które widziałem w Internecie, próbując znaleźć niezłą konfigurację
rsync
.Nawiasem mówiąc, jeśli ktoś jest zainteresowany maszyną czasu jak kopie, jest
rsnapshot
. Jest też Unison do dwukierunkowej synchronizacji. Ponadto istnieje kilka GUI, takich jak Backup Utility i arRsync ; nie do końca to, czego szukałem, ale mogą dla kogoś zrobić pracę.Po pierwsze, moim jedynym zamiarem było duplikowanie zdjęć i filmów, więc dokładna kopia nie była potrzebna, a więc nie trzeba się zbytnio przejmować . W rzeczywistości większość moich wątpliwości dotyczyła tego, czy mógłbym wszystko wykluczyć (to samo, co by się stało, gdyby na przykład pobrałem zdjęcie z Internetu, po prostu pobrałem plik .png, wszystko inne nie jest pobierane, ale jest generowane automatycznie ).
Oto nieuporządkowana lista myśli, które możesz wziąć pod uwagę
Chcę mieć pewność, że Twój laptop nie zasypia, możesz chcieć
caffeinate
tego procesucaffeinate -s rsync -av ...
. Zabrano stąd .Jeśli robisz kopie lokalne, jak w moim przypadku, nawet jeśli połączenie internetowe nie jest zbyt powolny, należy nie używać
-z
opcji (kompresji) i wykorzystanie-W
(przeniesienie całego pliku, raczej niż transfery delta, jest to domyślne, gdy lokalna) i prawdopodobnie służą--inplace
do szybkiego przesyłania przelewów. Zabrano stąd .Możesz użyć,
--delete-after
aby każdy plik został najpierw przesłany, a następnie przeniesiony do miejsca docelowego (i usunięty oryginalny) i jest bezpieczniejszy niż usunięcie przed transferem lub podczas transferu.Możesz zatrzymać przesyłanie, naciskając ctrl + C, a zatrzyma się ono czysto. Zabrano stąd . To była jedna z moich obaw związanych z SuperDuper !, jeśli chcesz zatrzymać transfer, pojawi się komunikat „Opuścisz dysk twardy w nieznanym stanie…”.
W najnowszych wersjach jest
--info=progress2
jeszcze więcej szczegółów-v
.Istnieją
-P
(co równa się--partial
i--progress
), które pozostawiają tam przeniesione pliki, więc możesz kontynuować pracę po ponownym uruchomieniu procesu (jeśli z jakiegoś powodu nie możesz natychmiast zakończyć synchronizacji).Można być zainteresowanym zatrzymaniem Spotlight lub TimeMachine przed wykonaniem kopii i ponownym włączeniem ich po przeniesieniu. A nawet wyłącz Spotlight dla dysku zewnętrznego.
Inne opcje stosowane we wszystkich tych odniesień zawierać
-x
(lub--one-file-system
),-E
(--executability
),-H
(--hard-links
),-X
(--xattrs
),-A
(--acls
), i--sparse
,--hfs-compression
,--protect-decmpfs
. Możesz na nie spojrzeć.Dla mnie wygląda podstawowe polecenie (mogę użyć więcej opcji, ale to wystarczy na przykład):
Teraz w moim przypadku mógłbym po prostu dołączyć
{*.jpg,*.png,*.mp4,*.txt,*.pdf,…}
i nikt nie powiedziałby „potrzebujesz także plików systemowych”, ale ponieważ nie chcę szukać, aby uzyskać wszystkie możliwe typy plików, które mam, wolę wykluczyć. Są rzeczy, które nie tylko mogą być, ale wydają się wygodne do wykluczenia.Znalazłem kilka linków, weź co chcesz:
https://bombich.com/kb/ccc4/some-files-and-folders-are-automatically-excluded-from-backup-task
https://gist.github.com/tvwerkhoven/4541989
https://github.com/necolas/dotfiles
https://gist.github.com/shkm/5531679
http://www.hackurmac.com/2014/08/backing-up-and-restoring-your-hackintosh.html
https://github.com/jedda/Counterpart
http://alanwsmith.com/rsync-exclude-list-for-mac-osx
Stamtąd możesz prawdopodobnie zignorować to, co bezpieczne lub rozsądne. Oto pełna lista (właśnie usunąłem duplikaty)
źródło
Użyłem rsync do tworzenia kopii zapasowych w kilku zadaniach i używam go w domu.
Bardzo go polecam, ale z pewnymi modyfikacjami. Jako narzędzie do tworzenia kopii zapasowych jest świetne, ale jako narzędzie do archiwizacji jest trochę płaskie. Tak, kopiuje wszystko, ale nie dostajesz wersji wszystkiego, zawsze otrzymujesz tylko najnowsze wersje.
Użyłem tego przewodnika http://www.mikerubel.org/computers/rsync_snapshots/ jako punktu wyjścia. Przeczytaj całą stronę. Doskonale objaśnia opcje i opisuje, w jaki sposób można wdrożyć przyrostowe kopie zapasowe. I, co zadziwiające, artykuł ma ponad 10 lat, ale nadal obowiązuje. Kocham unix.
źródło
rsync
. W każdym razie, dobre połączenie, obejmuje ona wielersync
, ale nie ma na dzień dzisiejszy to narzędzie zrobić dokładnie, że:rsnapshot
.