Mac の連絡先アプリは、個人や仕事の連絡先情報を保存するのに非常に便利です。連絡先データベースをバックアップする方法は次のとおりです。
macOS の連絡先アプリは、起動ディスクのルートにある /Applications フォルダーにあります。新しい連絡先を追加すると、各ページまたは vCard は、~/Library/Application Support/AddressBook にあるディスク上のローカル データベースに保存されます (以前のバージョンの macOS では、連絡先アプリは「アドレス帳」と呼ばれていました)。
AddressBook フォルダーにはいくつかのファイルとフォルダーがありますが、メインの連絡先データベースの名前は「AddressBook-vXX.abcddb」になります (「XX」はバージョン番号です)。macOS ベンチュラ、通常は「22」です。 .abcddb ファイル タイプは不透明なタイプであり、Apple はその仕様を公開していません。
ただし、同じレベルには「メタデータ」という名前のフォルダーがあり、このフォルダーには、連絡先アプリの各エントリに 1 つずつ、個別の連絡先が含まれています。現在、これらのファイルの拡張子は「.abcdp」で、いずれかをダブルクリックすると、連絡先アプリで対応するエントリを開くことができます。
あなたならない連絡先を同期するiCloud、AddressBook フォルダーには連絡先データベース全体が含まれています。連絡先アプリの設定は、~/Library/Preferences/com.apple.AddressBook.plist に保存されます。
連絡先データベースをバックアップする簡単な方法の 1 つは、Option キーを押しながら AddressBook フォルダ全体をコピーし、Finder 内の別の保存場所にクリックしてドラッグすることです。新しいものについてはmacOSインストール後は、AddressBook フォルダをユーザーのライブラリ フォルダ内の同じ場所にドロップするだけで、連絡先データベースを新しいインストールに復元できます。
Contact アプリの設定も新しい macOS インストールにコピーしたい場合は、上記の com.apple.AddressBook.plist ファイルを新しい起動ディスクの同じ場所にコピーするだけです。毎回両方の項目を置換するように求められます。要求されたら、Finder で「置換」をクリックする必要があります。
すべてを新しいインストールにコピーしたら、再起動します。マック。次に、連絡先アプリを開きます。アプリにすべての連絡先エントリが表示されるはずです。そうでない場合は、バックアップされた連絡先を復元する方法があります。それについては以下で説明します。
ただし、その前に、連絡先アプリ内から連絡先データベース全体をバックアップする別の方法があります。そのためには、まず選択していることを確認してください「すべての連絡先」連絡先メイン ウィンドウの左側にあるサイドバーの上部:
サイドバーで必ず「すべての連絡先」を選択してください。
次に選択します「ファイル -> エクスポート -> 連絡先アーカイブ」メインメニューから。標準の保存パネルが表示されます。ファイル名と場所を選択し、"保存"ボタン。
連絡先アーカイブ エクスポート ファイルは、ファイル拡張子 .abbu (アドレス帳バックアップ用) で保存され、デフォルト名「Contacts -」の後に現在の日付が付けられます。例えば:
連絡先 - 05-16-2023.abbu
.abbu エクスポート ファイルには、連絡先アプリ内のすべての連絡先のアーカイブ全体が含まれています。「すべての連絡先」エクスポートする前にサイドバーの上部にある項目を選択します。
長年続いていることに注意してください間欠Apple がまだ対処していない連絡先エクスポート機能のバグ: .abbu ファイルを Mac のデスクトップにエクスポートすると、場合によっては不完全なアーカイブが保存され、個々の連絡先の一部が失われる可能性があります。
このバグが発生する条件はまだ完全には理解されておらず、時々発生するだけです。
安全のため、エクスポートしたアーカイブを Mac のデスクトップに保存しないでください。これまで。
必ずドライブ上の別の場所に保存してください。 Apple が連絡先のこの問題をすぐに修正してくれることを願っています。
このバグが発生したかどうかは、連絡先データベース全体をデスクトップ上の .abbu ファイルに保存し、それをディスク上の別の場所に再度保存すると、上の 2 つのファイルのファイル サイズに大きな違いがあることに気づくためです。 Finder の「情報を見る」ウィンドウ。
これは、サイズが小さいファイルでは一部の連絡先が失われたことを示しています。
.abbu ファイルをエクスポートしたら、そのファイルの 2 番目のコピーを安全な場所 (できれば通常 Mac に接続されていないメディア上) に作成します。
連絡先アプリで単一の連絡先をバックアップしたり、サイドバーで連絡先グループをバックアップしたりすることもできます。これを行うには、連絡先リストまたはサイドバーで連絡先エントリまたはグループをクリックし、Control キーを押しながらクリックするか右クリックします。
コンテキスト ポップアップ メニューが表示されます。「vCardのエクスポート」その中の項目:
「vCardをエクスポート...」を選択します。
項目を選択し、標準の保存パネルを使用して vCard を保存します。 vCard は、CardDAV 標準の一部であるオープンな連絡先形式です。
最新のオペレーティング システムとアプリのほとんどは vCard をサポートしています。 macOS では、vCard は .vcf のファイル拡張子で保存されます。
で「連絡先→設定」また、使用する vCard 標準のバージョンを選択することもできます。「vカード」タブ: 現在、バージョン 2.1 と 3.0 がサポートされています。
vCard を自由にエクスポートおよびインポートして、連絡先アプリから連絡先を追加または共有できます。もあります"ファイル"vCard またはグループを PDF ファイルにエクスポートするメニュー項目。
vCard (左) とエクスポートされた連絡先アーカイブ ファイル。
エクスポートされた連絡先のバックアップ全体を復元するには、次を選択します。「ファイル→インポート」をクリックし、表示される標準の開いたパネルから任意の .abbu ファイルを選択します。既存の連絡先を、開いているファイルの内容で置き換えるかどうかを尋ねられます。
クリック「すべて置き換える」既存の連絡先データベースをファイルに含まれているデータベースと置き換えます。
.abbu ファイルをインポートしています。
この機能を使用すると、連絡先アプリに現在保存されている既存の連絡先が完全に上書きされるため、注意して使用してください。警告は 1 つだけ表示されます。アンドゥはありません。
Finder で .vcf ファイルをダブルクリックするだけで、vCard または vCard グループを復元またはインポートできます。 vCard が連絡先にすでに存在する場合は、そのカードにジャンプします。そうでない場合は、カードまたはカードのグループを追加し、最初のカードにジャンプします。
Finder で複数の vCard をダブルクリックすると、本当にその数のカードをインポートするかどうかを連絡先に尋ねられます。をクリックします。"輸入"ボタンをクリックしてすべてインポートします。
をクリックすることもできます。「重複の確認」ボタンをクリックして、重複する可能性のあるカードをインポートする前に確認します。
個々の連絡先を iCloud に保存するには、まず次の場所に移動します。「連絡先→設定」、そして、"一般的な"タブで選択「iCloud」として「デフォルトアカウント」:
設定でデフォルトのアカウントとして「iCloud」を選択します。
これを行うと、連絡先に追加されます「iCloud」メインウィンドウのサイドバーの見出し。の下に追加した連絡先は、「iCloud」見出しは自動的に iCloud に同期されます。
Contact アプリのメイン ウィンドウのサイドバーの見出しは、Apple の Notes アプリと同じように機能します。Mac 上のローカル アイテム用のセクションが 1 つと、iCloud アイテム用のセクションが 1 つあります。アイテムが最終的にどこに置かれるかは、単にそのアイテムをどの見出しの下に保管するかによって決まります。
連絡先のエントリまたはグループを、サイドバー内のあるセクションから別のセクションにドラッグするだけで移動することもできます。
に戻ると、「連絡先→設定」ウィンドウで、選択するだけで iCloud サイドバーのヘッダーセクションを再びオフにすることができます。「私のMac上で」のために「デフォルトアカウント」。そうすると、サイドバーの「iCloud」ヘッダーの下にある既存の連絡先は削除されず、単に非表示になるだけです。
連絡先を iCloud に保存するには、macOS の設定アプリで連絡先を有効にする必要があります。これを行うには、次を選択します「ファインダー→設定」メインメニューで、Apple IDウィンドウの上部で、必要に応じてログインし、選択します「iCloud」右側に。次のペインで、「すべて表示」ウィンドウの右側にあるボタンをクリックして、iCloud をサポートするすべてのアプリを表示します。
「すべて表示」をクリックします。
下にスクロールして、「連絡先」スライダースイッチをオンにします。後でウェブ上の iCloud からアプリに保存した連絡先にアクセスしたい場合は、[設定 iCloud] ペインの一番下までスクロールして有効にする必要もあります。「ウェブ上で iCloud データにアクセス」。
Apple は、悪意のある者が Web iCloud アカウントにアクセスした場合に iCloud データを保護するために、この保護手段を提供しています。
AddressBook フォルダーが ~/Library/Application Support フォルダー内のどこにあるかがわかったので、bash ターミナル スクリプトを使用して自動的にバックアップできます。
完全バックアップ スクリプトはこの記事の範囲を超えているため、~/Library/Application Support からディスク上の別の場所に AddressBook 全体をコピーするためにスクリプトに組み込むことができる bash シェル コマンドの概要だけを説明します。
bash スクリプトは非常に強力であるため、スクリプトにエラーが発生するとデータが瞬時に破壊される可能性があることに注意してください。必ず、貴重なファイルやデータが含まれていないマシンで最初にスクリプトをテストしてください。ご自身の責任で進めてください。
まず、テキスト エディタで新しい空の .sh ファイルを作成し、ディスクに保存します。次に、ユーザーのライブラリ、アプリケーション サポート、および AddressBook フォルダーが存在する場所を示すいくつかの変数をスクリプトの先頭に追加します。また、起動ディスクの名前、ユーザー フォルダー、および現在ログインしているユーザーの名前を保持する変数を追加します。
VOL_NAME="/Volumes/Macintosh HD"
LIBRARY_DIR_NAME="Library"
APP_SUPPORT_DIR_NAME="Application Support"
ADDRESS_BOOK_DIR_NAME="AddressBook"
USERS_DIR_NAME="Users"
USER=i7
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}"
のLIBRARY_APP_SUPPORT_DIR_PATH
変数には ~/Library/Application Support/ への最終的な完全パスが含まれるようになりました。
のLIBRARY_ADDRESS_BOOK_DIR_PATH
変数には、AddressBook フォルダーへの最終的な完全パスが含まれます。
後で LIBRARY_ADDRESS_BOOK_DIR_PATH 変数を使用して、AddressBook フォルダーの場所にアクセスし、全体をディスク上の他の場所にコピーします。
AddressBook フォルダーをコピーするための名前とパスを設定するにはに、スクリプトの上記の変数のすぐ下にさらにいくつかの変数を追加します。
DEST_VOL_NAME="${VOL_NAME}" # Backup dest vol name
DEST_DIR_PATH="${VOL_NAME}/${USERS_DIR_NAME}/${USER_DIR_NAME}" # Backup dest dir path
この例では、起動ディスクを宛先ボリュームとしても使用しますが、「/ Volumes/」で示されていれば、マウントされた任意のボリューム名を使用できます。
この場合、ユーザーのホーム フォルダーを DEST_DIR_PATH の宛先フォルダーとして使用します。
次に、変数を設定して、いくつかのローカル Unix バイナリ コマンド (echo、remove、ditto) へのファイル パスを定義します。同上は、すべての Unix ユーザーとグループの権限、すべてのアクセス制御リストの設定、および Mac 固有の所有権と権限を含むファイルとフォルダを完全にコピーする macOS コマンドです。
ECHO="/bin/echo"
DITTO="/usr/bin/ditto"
REMOVE="/bin/rm"
すべての変数を設定したら、AddressBook フォルダー全体を宛先フォルダーにコピーするのは非常に簡単です。
まず、現在のディレクトリを行き先Unix を使用したフォルダーcd
コマンドを実行して、そこに AddressBook フォルダーがすでに存在するかどうかを確認します。存在する場合は、rm コマンドを使用して削除するか、ターミナルにメッセージを出力します。
cd $"{DEST_DIR_PATH}"
if [ -d "${ADDRESS_BOOK_DIR_NAME}" ]; then
${REMOVE} -R "${ADDRESS_BOOK_DIR_NAME}"
else
${ECHO} "${ADDRESS_BOOK_DIR_NAME} not present."
fi
-d フラグは、ディレクトリをチェックすることを示します。 Unix rm コマンドを使用するときは、特に「再帰的」を意味する -R フラグを使用するときは、細心の注意を払ってください。
cd が失敗した場合、または間違ったディレクトリに移動した場合、rm -R コマンドは、現在の作業ディレクトリがどのディレクトリであるかに関係なく、そのディレクトリ内のすべてを盲目的に削除します。
これには、ボリューム全体、システム フォルダ、デスクトップ、ユーザー フォルダ、ホーム フォルダ、起動ディスク、またはその他のボリュームまたはディレクトリが含まれます。さらに悪いことに、あなたは得られませんどれでも警告 - ファイルは即座に失われ、回復する方法はありません。
このため、何か問題が発生した場合に備えて、セカンダリ ブート ボリュームでスクリプトをテストすることが常に最善です。スクリプトを実行する前に、重要なボリュームを Mac から切断することもできます。
このため、rm コマンドを実行する前に、削除するディレクトリの存在を常に確認する必要があります。本当に優れたスクリプトは、スクリプトが cd で接続しようとするディレクトリの存在もチェックし、存在することを確認します。
スクリプトから cd で移動しようとしたディレクトリが存在しない場合、現在の作業ディレクトリが最後に使用されるディレクトリになります。警告は表示されません。
その後、rm -R コマンドを盲目的に実行すると、現在の作業ディレクトリ内のすべてが即座に消去されます。これは、Unix スクリプトの初心者が苦労して学ぶ落とし穴の 1 つです。
次に、Unix のコマンドを使用して、現在のディレクトリを ~/Library/Application Support フォルダに変更します。cd
再度コマンドを実行します:
cd $"{LIBRARY_APP_SUPPORT_DIR_PATH}"
Application Support フォルダに AddressBook フォルダが存在するかどうかを確認し、存在する場合はコピー先にコピーします。存在しない場合は、ターミナルにエラーを出力します。
if [ -d "${ADDRESS_BOOK_DIR_NAME}" ]; then
/usr/bin/sudo ${DITTO} -v -V --rsrc "${ADDRESS_BOOK_DIR_NAME}" "${DEST_DIR_PATH}"
else
${ECHO} "${ADDRESS_BOOK_DIR_NAME} not present."
fi
sudo コマンドは「superuser do」の略称です。続行するには、Mac 上のユーザーの管理者パスワードを入力する必要があります。
Unix では、スーパーユーザーは root ユーザーに似ており、どちらもマシン上で必要な操作を行うためのほぼ無制限の権限を持っています。
の--rsrc
flag は、コピーされたファイル内にある可能性のある古いスタイルの Mac OS 9 リソース フォークもコピーするように、同コマンドに指示します。この場合、おそらく必要ありません--rsrc
、でも害はありません。
スクリプト ファイルを保存します。スクリプトを実行するには、macOS のターミナル アプリを開き、スクリプト ファイルをターミナル ウィンドウにドラッグして、戻る。
スクリプトの実行が開始され、進行状況がターミナルにエコーされます。
すべてが計画どおりに進んだ場合は、現在のユーザーのホーム フォルダー内に AddressBook フォルダーの正確なコピーが作成されます。前述したように、$"{DEST_DIR_PATH} に保存されているパスを変更することで、AddressBook フォルダーを他の場所にコピーできます。
自動バックアップ スクリプトは非常に複雑になる場合がありますが、bash ターミナル シェルでほぼすべてのファイル操作を自動化できます。いくつかの変数を組み合わせたり、if/else ステートメントをネストしたりすることで、このスクリプトを簡略化することもできますが、この例は十分理解しやすいものになっています。
また、AppleScript を使用してアプリから連絡先アーカイブをエクスポートし、エクスポートされた .abbu ファイルを bash スクリプトからバックアップすることもできます。これについては、今後の記事で説明する可能性があります。
今後の記事では、iPhone から連絡先をバックアップする方法や、iPad。