見出し画像

Macbookが突然起動しなくなる悲劇に備えてバックアップを取るメモ

先日Macbookが突然起動しなくなった。
翌日修理に出して、その場でMacbookを新しく買って、、とまあまあバタバタしたのだが、元々使ってたマシンがない状態でMacのセットアップをするのが思ったよりも大変で、上手にバックアップを取っていれば、、と強く後悔した。

その後、使っている様々なサービスでバックアップを取るようにしてきたので、何をどのようにバックアップしていくかをメモしていこうと思う。

エンジニア寄りのサービス構成になっている点だけ事前にお伝えしておく。

Mac

辛い度:★☆☆☆☆

Macのバックアップは主にTime Machineで行う。
昔はTimeMachineを設定していたが、故障したマシンを使い始めてからはバックアップをとっていなかったため何も残っていない状態からスタートすることになった。

ただ、これはあくまでもファイルのバックアップが目当てで復元は緊急時のみの想定。
Macの買い替え時には自分は基本的にまっさらな状態に新しくソフトをインストールしていくことで大掃除の機会にしたいと思っている。

そしていつの間にかMacの設定の一部がAppleIDに紐づけて移行されるようになっているようだった。
ありがたいのは間違いないが、「なぜこれは同期されない」という項目も結構あった。

1Password

辛い度:☆☆☆☆☆

Macが起動したらまずAppStoreから1Passwordをインストール。
AppleIDと紐付いているようで、普段のロック解除用パスワードのみでインポートすることができた。
ちょっと高いだけあってさすがのクオリティ。


Google Chrome

辛い度:★☆☆☆☆

次はChromeをインストール。
Chromeは本当に同期周りがよく出来ていて、インストール後ログインするだけでChromeの設定や拡張機能等が引き継がれてほぼ元々の状態になった。

インスペクトツールの設定は別途する必要があるみたいだった点が★一つ。

Chromeのタブを復元

Chrome自体を復元しても元々開いていたタブが復元されるわけではない。
お恥ずかしながら自分は常に50個くらいは固定でタブを開いているので、それを手作業で再現していくのはとても面倒。。

今回はたまたまworkonaという拡張機能を使っていたことで事なきを得た。
開いているタブをこのサービスが保存してくれるので、そこから一気に復元できた。

ここまでは順調。

Google日本語入力辞書

辛い度:★★☆☆☆

自分はメールアドレスやなかなか変換の出ない固有名詞はGoogle日本語入力の辞書に登録しているが、これも同期するにはファイルが必要だった。
これまでコツコツ溜め込んできた辞書はもう失われてしまったのだった。。

このサービスもそうだが、ファイルにExportしたものをバックアップする必要があるものをどうするか考えた結果、普段から使っているGoogleDriveにあげることにした。

サービスの設定バックアップ用ディレクトリを作成してGoogleDriveと同期させるようにした。
TimeMachineでもおそらく十分だがクラウドに上げるとHDのトラブルも避けれる。

iTerm2

辛い度:★★☆☆☆

ここからが大変だった。

これもまあ大掃除と考えられなくはないが、一番面倒だったのはStarshipの設定がなくなったこと。適当にやってるので元々の状態を再現するのはもう無理だった。。

その他、iTerm2自体のprofileなど、地味に面倒なものがたくさんあることに気づいた。

iTerm2のセットアップに伴って気づいたものは以下の通り。

.config

ホームディレクトリにある.configディレクトリには様々なアプリの設定ファイルが含まれている。
iTerm2やStarshipもそうだが、他にもFileZillaやKarabiner等々。

このディレクトリはバックアップをとっておいたほうがよさそう&セキュアな情報が含まれている可能性があるので、GoogleDriveに同期させることにした。

どこまで復元できるのかはよくわからないのでとりあえずiTerm2のprofileはExportしてGoogleDriveと同期したディレクトリに配置することにした。

.zshrc

.zshrcや.zprofile等々のファイルはdotfilesとしてGit管理するのがいいらしいが大変そうなので後回し。


SSHキー

辛い度:★★★★☆

主にEC2に使っているSSHキーも全て作り直した。
1PasswordにはSSHキーを登録するためのフォーマットがあるのでここに保存するのがめっちゃよさそう。

1Password経由でssh接続ができたりもするらしい

JetBrainsIDE

辛い度:★★★★★

今回最も後悔したのはこれかもしれない。
JetBrainsIDEを普段使っているのだが、この設定を引き継ぐことができなかった。
数年に渡って醸成してきた設定が完全に失われることになっただけでなく、先日プレビューリリースされていた新UIも気に入っていたのだが、もうダウンロードもできない状態になっており、ちょっとモチベが下がった。

そしてこの設定の同期がめっちゃ簡単だったことも後悔度を上げた。
File→Manage IDE Setting→Sync with Settings Repositoryでおわり。

たったこれだけ


SequelAce

辛い度:★★★☆☆

これまではセットアップするときに古いマシンからExport→Importしていたが、Exportしてくれるマシンはもうない。
ファイルにExportしてGoogleDriveと同期させたディレクトリに配置。

Insomnia

辛い度:★★★★☆

これもかなり辛い。
自分のチームのプロジェクトでは設定をExportしたjsonをGit管理しているので復元はかんたんだったが、個人開発のものや、他チームのプロジェクトでは個人的にこそこそ育てていたこともあり、積み上げたものがなくなってしまった。

これまで気が付かなかったが、InsomniaはGit管理する機能があるようなので、プロジェクトごとにリポジトリを作って同期させることでバックアップを取るのがよさそう。

insomniaのGitメニュー


FileZilla

辛い度:★★★★☆

これもTOPクラスに辛かった。
1Passwordにだいたい保存しているが、30サーバーくらいのFTPの接続設定をまた1からやり直すのはさすがにしんどい。
.configディレクトリに設定が保存されているようだが、念の為にExportしてbackupディレクトリに配置するようにした。

Biscuit

辛い度:★☆☆☆☆

そこまで痛くはなかったがちょい面倒。
SequelAceと同様にファイルにExportできるのでGoogleDriveに保存していく。

.envファイル

辛い度:★★★☆☆

プロジェクトの数が多くなるためこれも結構面倒だった。
ファイル名にプロジェクトの情報を加えてGoogleDriveに上げていくことにした。


以上。
「自分はこうやってる」みたいなのがあればぜひ教えてください。

この記事が気に入ったらサポートをしてみませんか?