Kontakty w systemie macOS
Aplikacja Kontakty na komputerze Mac jest niezwykle przydatna do przechowywania osobistych i służbowych informacji kontaktowych. Oto jak wykonać kopię zapasową bazy danych Kontaktów.
Aplikacja Kontakty systemu macOS znajduje się w folderze/Applications w katalogu głównym dysku startowego. Po dodaniu nowych kontaktów każda strona lub wizytówka vCard jest przechowywana w lokalnej bazie danych na dysku w katalogu ~/Library/Application Support/AddressBook (aplikacja Kontakty nosiła nazwę „Książka adresowa” we wcześniejszych wersjach systemu macOS).
W folderze Książka adresowa znajduje się kilka plików i folderów, ale głównym Baza kontaktów będzie nosiła nazwę”AddressBook-vXX.abcddb”-gdzie”XX”to jakiś numer wersji-w przypadku macOS Ventura zazwyczaj”22″. Typ pliku.abcddb jest typem nieprzejrzystym i firma Apple nie publikuje jego specyfikacji.
Jednak na tym samym poziomie znajduje się folder o nazwie „Metadane”, w którym znajdują się indywidualne kontakty, po jednym dla każdego wpisu w aplikacji Kontakty. Obecnie te pliki mają rozszerzenie „.abcdp” i możesz kliknąć dwukrotnie dowolny z nich, aby otworzyć odpowiedni wpis w aplikacji Kontakty.
Jeśli nie synchronizujesz swoich kontaktów z iCloud, folder Książka adresowa zawiera całą bazę danych kontaktów. Ustawienia aplikacji Kontakty są przechowywane w ~/Library/Preferences/com.apple.AddressBook.plist.
Prostym sposobem utworzenia kopii zapasowej bazy danych Kontaktów jest po prostu skopiowanie całego folderu AddressBook przez przytrzymanie klawisza Option, kliknięcie i przeciągnięcie go do innej lokalizacji w Finderze. W każdej nowej instalacji systemu macOS możesz po prostu upuścić folder Książka adresowa w to samo miejsce w folderze Biblioteki użytkownika, aby przywrócić bazę danych Kontaktów do nowej instalacji.
Jeśli chcesz także skopiować ustawienia aplikacji Kontakty do nowej instalacji systemu macOS, po prostu skopiuj wspomniany powyżej plik com.apple.AddressBook.plist do tej samej lokalizacji na nowym dysku startowym. Za każdym razem zostaniesz poproszony o zastąpienie obu elementów, na co powinieneś kliknąć „Zamień” w Finderze, gdy zostaniesz o to poproszony.
Po skopiowaniu wszystkiego do nowej instalacji uruchom ponownie komputer Mac. Następnie otwórz aplikację Kontakty. Powinieneś zobaczyć wszystkie swoje wpisy Kontaktów w aplikacji. Jeśli tego nie zrobisz, istnieje sposób na przywrócenie kontaktów z kopii zapasowej, co omówimy poniżej.
Ale najpierw jest inny sposób na utworzenie kopii zapasowej całej bazy danych Kontaktów z poziomu aplikacji Kontakty. Aby to zrobić, najpierw upewnij się, że wybrałeś „Wszystkie kontakty” u góry paska bocznego po lewej stronie głównego okna Kontaktów:
Pamiętaj, aby wybrać „Wszystkie kontakty” na pasku bocznym.
Następnie wybierz „Plik->Eksportuj->Archiwum kontaktów” z menu głównego. Pojawi się standardowy panel zapisu. Wybierz nazwę pliku i lokalizację, a następnie kliknij przycisk „Zapisz”.
Pliki eksportu archiwum kontaktów są zapisywane z rozszerzeniem pliku.abbu (do tworzenia kopii zapasowych książki adresowej) i otrzymują domyślną nazwę „Kontakty-”, po której następuje bieżąca data. Na przykład:
Kontakty — 05-16-2023.abbu
Plik eksportu.abbu zawiera całe archiwum wszystkich kontaktów w Twojej aplikacji Kontakty — zakładając, że kliknąłeś przycisk „Wszystkie kontakty” na górze paska bocznego przed wyeksportowaniem.
Należy pamiętać o jednym długotrwałym, sporadycznym błędzie w funkcji eksportu Kontaktów, którego Apple jeszcze nie rozwiązał: jeśli wyeksportujesz plik.abbu na komputer Mac, w niektórych przypadkach niekompletne archiwum zostanie zapisane a niektóre indywidualne kontakty mogą zostać utracone.
Warunki, w których występuje ten błąd, wciąż nie są w pełni zrozumiałe – i zdarza się to tylko czasami.
Dla bezpieczeństwa nigdy nie zapisuj wyeksportowanych archiwów na pulpicie komputera Mac. Kiedykolwiek.
Zawsze zapisuj go w innej lokalizacji na dysku. Mam nadzieję, że Apple wkrótce naprawi ten problem w Kontaktach.
Możesz stwierdzić, czy wystąpił ten błąd, ponieważ jeśli zapiszesz całą bazę danych Kontaktów w pliku.abbu na pulpicie, a następnie zapiszesz ją ponownie w innej lokalizacji na dysku, zauważysz znaczącą różnicę w rozmiary plików między dwoma plikami w oknach Finder Get Info.
Oznacza to, że niektóre kontakty zostały utracone w pliku o mniejszym rozmiarze.
Po wyeksportowaniu pliku.abbu utwórz jego drugą kopię w bezpiecznym miejscu — najlepiej na nośniku, który zwykle nie jest podłączony do komputera Mac.
Możesz także tworzyć kopie zapasowe pojedynczych kontaktów w aplikacji Kontakty lub grup kontaktów na pasku bocznym. Aby to zrobić, po prostu kliknij pozycję kontaktu lub grupę na liście kontaktów lub pasku bocznym, a następnie kliknij z wciśniętym klawiszem Control lub prawym przyciskiem myszy.
Pojawi się kontekstowe menu podręczne z elementem „Eksportuj vCard”:
Wybierz „Eksportuj wizytówkę vCard…”.
Wybierz element i zapisz wizytówkę vCard za pomocą standardowego panelu zapisywania. vCard to otwarty format kontaktów, który jest częścią standardu CardDAV.
Większość nowoczesnych systemów operacyjnych i aplikacji obsługuje vCard. W systemie macOS wizytówki vCard są zapisywane z rozszerzeniem.vcf.
W “Kontakty->Ustawienia” możesz także wybrać, której wersji standardu vCard chcesz używać w zakładce “vCard”: obecnie wersje 2.1 i 3.0 są obsługiwane.
Możesz dowolnie eksportować i importować wizytówki vCard, aby dodawać lub udostępniać kontakty z aplikacji Kontakty. Dostępny jest również element menu „Plik” umożliwiający wyeksportowanie wizytówki vCard lub grupy do pliku PDF.
Wizyta vCard po lewej i wyeksportowane archiwum kontaktów plik.
Aby przywrócić całą wyeksportowaną kopię zapasową Kontaktów, wybierz “Plik->Importuj” i wybierz dowolny plik.abbu ze standardowego otwartego panelu, który się pojawi. Zostaniesz zapytany, czy chcesz zastąpić istniejące kontakty zawartością otwartego pliku.
Kliknij „Zamień wszystko”, aby zastąpić istniejącą bazę danych Kontaktów bazą zawartą w pliku.
Importowanie pliku.abbu.
Używaj tej funkcji ostrożnie, ponieważ całkowicie nadpisze ona wszystkie istniejące kontakty, które obecnie przechowujesz w aplikacji Kontakty. Dostajesz tylko jedno ostrzeżenie. Nie ma opcji Cofnij.
Możesz przywrócić lub zaimportować dowolną wizytówkę vCard lub grupę vCard, klikając dwukrotnie dowolny plik.vcf w Finderze. Jeśli wizytówka vCard już istnieje w Kontaktach, przejdzie do tej karty. Jeśli nie, doda kartę lub grupę kart, a następnie przeskoczy do pierwszej.
Jeśli dwukrotnie klikniesz kilka wizytówek vCard w Finderze, Kontakty zapytają, czy naprawdę chcesz zaimportować tyle kart. Kliknij przycisk „Importuj”, aby zaimportować je wszystkie.
Możesz również kliknąć przycisk „Przejrzyj duplikaty”, aby przejrzeć ewentualne duplikaty kart przed ich zaimportowaniem.
Aby zapisać indywidualne kontakty w iCloud, najpierw przejdź do “Kontakty->Ustawienia”, a następnie na karcie “Ogólne” wybierz „iCloud” jako „Konto domyślne”:
Wybierz „iCloud” jako konto domyślne w Ustawieniach.
Kiedy to zrobisz, Kontakty dodadzą nagłówek „iCloud” na pasku bocznym głównego okna. Wszystkie kontakty dodane pod nagłówkiem „iCloud” zostaną automatycznie zsynchronizowane z iCloud.
Nagłówki na pasku bocznym głównego okna aplikacji Kontakty działają tak samo, jak w aplikacji Notatki firmy Apple: jedna sekcja zawiera elementy lokalne na komputerze Mac, a druga elementy iCloud. To, gdzie kończy się przedmiot, zależy po prostu od tego, pod jakim nagłówkiem go przechowujesz.
Możesz także przenosić wpisy lub grupy Kontaktów, po prostu przeciągając je z jednej sekcji do drugiej na pasku bocznym.
Jeśli wrócisz do okna „Kontakty->Ustawienia”, możesz ponownie wyłączyć sekcję nagłówka paska bocznego iCloud, po prostu wybierając „Na moim Macu” dla „Konta domyślnego”. Jeśli to zrobisz, nie usunie żadnych istniejących kontaktów pod nagłówkiem „iCloud” na pasku bocznym, a jedynie je ukryje.
Aby kontakty mogły być zapisywane w iCloud, musisz włączyć tę funkcję w aplikacji Ustawienia systemu macOS. Aby to zrobić, wybierz “Finder->Ustawienia” w menu głównym, kliknij swój Apple ID u góry okna, zaloguj się w razie potrzeby, a następnie wybierz „iCloud” po prawej stronie. W następnym okienku kliknij przycisk „Pokaż wszystko” po prawej stronie okna, aby wyświetlić wszystkie aplikacje obsługujące iCloud:
Kliknij „Pokaż wszystko”.
Przewiń w dół do „Kontakty” i obróć suwak NA. Jeśli później chcesz uzyskać dostęp do Kontaktów zapisanych w aplikacji z iCloud w Internecie, musisz również przewinąć do dołu okienka Ustawienia iCloud i włączyć opcję „Dostęp do danych iCloud w Internecie.
Apple zapewnia to zabezpieczenie, aby chronić Twoje dane w usłudze iCloud na wypadek, gdyby haker uzyskał dostęp do Twojej sieci konto iCloud.
Ponieważ już wiesz, gdzie znajduje się folder Książka adresowa w folderze ~/Library/Application Support, możesz użyć skryptu terminala bash, aby automatycznie utworzyć kopię zapasową.
A skrypt pełnej kopii zapasowej wykracza poza zakres tego artykułu, więc omówimy tylko polecenia powłoki bash, które możesz umieścić w skrypcie, aby skopiować całą książkę adresową z ~/Library/Application Support do innej lokalizacji na dysku.
Pamiętaj, że skrypty bash mogą być dość potężne i mogą natychmiast zniszczyć twoje dane, jeśli do skryptu zostaną wprowadzone błędy. Zawsze najpierw przetestuj swoje skrypty na komputerze, który nie zawiera żadnych cennych plików ani danych. Kontynuuj na własne ryzyko.
Najpierw utwórz nowy pusty plik.sh w edytorze tekstu i zapisz go na dysku. Następnie dodaj kilka zmiennych na początku skryptu, które wskazują, gdzie znajdują się foldery Library, Application Support i AddressBook użytkownika. Dodaj także zmienne do przechowywania nazwy dysku startowego, folderu Users i nazwy aktualnie zalogowanego użytkownika:
VOL_NAME=”/Volumes/Macintosh HD”
LIBRARY_DIR_NAME=„Biblioteka”
APP_SUPPORT_DIR_NAME=”Obsługa aplikacji”
ADDRESS_BOOK_DIR_NAME=”Książka adresowa”
USERS_DIR_NAME=”Użytkownicy”
USER_DIR_NAME=”${USER}”
LIBRARY_APP_SUPPORT_DIR_PATH=”${VOL_NAME}/${USERS_DIR_NAME}/${USER_DIR_NAME}/${LIBRARY_DIR_NAME}/${APP_SUPPORT_DIR_NAME}”
LIBRARY_ADDRESS_BOOK_DIR_PATH=”${LIBRARY_APP_SUPPORT_DIR_PATH}/${ADDRESS_BOOK_DIR_NAME}”
Zmienna LIBRARY_APP_SUPPORT_DIR_PATH zawiera teraz ostateczną pełną ścieżkę do ~/Library/Application Support/
Zmienna LIBRARY_ADDRESS_BOOK_DIR_PATH zawiera ostateczną pełną ścieżkę do folder Książka adresowa.
Zmiennej LIBRARY_ADDRESS_BOOK_DIR_PATH użyjesz później, aby uzyskać dostęp do lokalizacji folderu książki adresowej i skopiować całość do innej docelowej lokalizacji na dysku.
Aby skonfigurować nazwy i ścieżki do skopiowania folderu książki adresowej, dodaj kilka dodatkowych zmiennych do skryptu bezpośrednio pod tymi wymienionymi powyżej:
DEST_VOL_NAME=”${VOL_NAME}”# Nazwa woluminu kopii zapasowej
DEST_DIR_PATH=”${VOL_NAME}/${USERS_DIR_NAME}/${USER_DIR_NAME}”# Ścieżka katalogu docelowego kopii zapasowej
W tym przykładzie użyjemy dysk startowy również jako wolumin docelowy, ale możesz użyć dowolnej nazwy zamontowanego woluminu, o ile jest to wskazane przez „/Volumes/” w DEST_VOL_NAME i ustawisz ścieżkę, do której chcesz skopiować folder książki adresowej na tym woluminie w DEST_DIR_PATH.
W tym przypadku po prostu użyjemy folderu domowego użytkownika jako folderu docelowego w DEST_DIR_PATH.
Następnie ustaw zmienne, aby zdefiniować ścieżki do kilku lokalnych binarnych poleceń systemu Unix, a mianowicie echo, remove i ditto. ditto to polecenie macOS, które doskonale kopiuje pliki i foldery, w tym wszystkie ich uprawnienia użytkowników i grup w systemie Unix oraz wszystkie ustawienia listy kontroli dostępu, a także wszelkie prawa własności i uprawnienia specyficzne dla komputerów Mac:
ECHO=”/bin/echo”
DITTO=”/usr/bin/ditto”
REMOVE=”/bin/rm”
Gdy wszystkie zmienne są skonfigurowane , dość łatwo jest skopiować cały folder książki adresowej do folderu docelowego.
Najpierw zmień bieżący katalog na folder docelowy za pomocą polecenia cd systemu Unix, a następnie sprawdź, czy folder AddressBook już tam istnieje. Jeśli tak, usuń go za pomocą polecenia rm, w przeciwnym razie wyświetl wiadomość w terminalu:
cd $”{DEST_DIR_PATH}”
if [-d”${ADDRESS_BOOK_DIR_NAME}”] ; następnie
${REMOVE}-R”${ADDRESS_BOOK_DIR_NAME}”
${ECHO}”${ADDRESS_BOOK_DIR_NAME} nieobecny.”
Flaga-d wskazuje, że chcesz sprawdzić katalog. Zachowaj szczególną ostrożność podczas używania polecenia Unix rm, zwłaszcza z flagą-R, która oznacza „rekurencyjny”.
Jeśli twoja płyta CD ulegnie awarii lub trafisz do niewłaściwego katalogu, polecenie rm-R usunie na ślepo wszystko z bieżącego katalogu roboczego, niezależnie od tego, który to katalog.
Dotyczy to całych wolumenów, folderu systemowego, pulpitu, folderu użytkownika, folderu domowego, dysku startowego lub dowolnego innego wolumenu lub katalogu. Co gorsza, nie otrzymasz żadnego ostrzeżenia — Twoje pliki po prostu natychmiast znikną bez możliwości ich odzyskania.
Z tego powodu zawsze najlepiej jest przetestować skrypty na dodatkowym woluminie rozruchowym, na wypadek gdyby coś poszło nie tak. Przed uruchomieniem skryptu możesz także chcieć odłączyć wszystkie krytyczne woluminy od komputera Mac.
Dlatego zawsze należy sprawdzić obecność usuwanego katalogu przed uruchomieniem polecenia rm. Naprawdę dobry skrypt sprawdziłby również obecność dowolnego katalogu, do którego skrypt próbuje wejść-aby upewnić się, że istnieje.
Jeśli katalog, do którego próbujesz wejść ze skryptu, nie istnieje, obecny katalog roboczy będzie ostatnim używanym. Nie dostaniesz żadnego ostrzeżenia.
Jeśli następnie uruchomisz polecenie rm-R na ślepo, wszystko w bieżącym katalogu roboczym zostanie natychmiast usunięte. Jest to jeden z problemów, których nowicjusze w skryptach uniksowych uczą się na własnej skórze.
Następnie zmień bieżący katalog na folder ~/Library/Application Support, używając ponownie polecenia cd systemu Unix:
cd $”{LIBRARY_APP_SUPPORT_DIR_PATH}”
Sprawdź jeśli folder AddressBook istnieje w folderze Application Support, a jeśli tak, skopiuj go do miejsca docelowego, jeśli nie, wypisz błąd w terminalu:
if [-d”${ADDRESS_BOOK_DIR_NAME}”]; następnie
/usr/bin/sudo ${DITTO}-v-V — rsrc”${ADRES_BOOK_DIR_NAME}””${DEST_DIR_PATH}”
${ECHO}”${ ADDRESS_BOOK_DIR_NAME} nieobecny.”
Polecenie sudo jest skrótem od „superuser do”. Aby kontynuować, musisz wprowadzić hasło administratora dla użytkownika komputera Mac.
W systemie Unix superużytkownik jest jak użytkownik root, z których obaj mają prawie nieograniczone uprawnienia do robienia czegokolwiek na komputerze, na który mają ochotę.
Flaga — rsrc mówi poleceniu ditto, aby kopiowało również wszelkie rozwidlenia zasobów starego typu systemu Mac OS 9, które można znaleźć w skopiowanych plikach. W tym przypadku prawdopodobnie nie potrzebujesz — rsrc, ale nie zaszkodzi.
Zapisz plik skryptu. Aby uruchomić skrypt, otwórz aplikację Terminal macOS, przeciągnij plik skryptu do okna Terminala i naciśnij Return.
Skrypt zacznie działać i będzie wyświetlał postępy w terminalu w trakcie jego wykonywania.
Jeśli wszystko poszło zgodnie z planem, masz teraz dokładną kopię folderu książki adresowej w folderze domowym bieżącego użytkownika. Jak wspomniano, możesz skopiować folder książki adresowej do dowolnej innej lokalizacji, zmieniając ścieżkę zapisaną w $”{DEST_DIR_PATH}.
Zautomatyzowane skrypty tworzenia kopii zapasowych mogą być dość złożone i możesz zautomatyzować prawie każdą operację na plikach w bash Terminal Shell. Mogliśmy uprościć ten skrypt, łącząc niektóre zmienne i zagnieżdżając instrukcje if/else, ale przykład powinien być wystarczająco łatwy do zrozumienia.
Moglibyśmy również wyeksportować archiwum kontaktów z aplikację przy użyciu AppleScript, a następnie utwórz kopię zapasową wyeksportowanego pliku.abbu również ze skryptu bash — coś, co możemy omówić w przyszłym artykule.
W przyszłym artykule przyjrzymy się również sposobom tworzenia kopii zapasowych Kontakty z iPhone’a lub iPada.