
通常、Mac Safariで「履歴を消去」を実行した場合、履歴だけではなくWebサイトデータやCookie情報なども消える。
そのためログイン済みのサイトからはログアウトされ、Webサイトの設定なども全部デフォルトに戻ってしまう。
ここでは小技ではあるが極簡単にWebサイトデータやCookieは残したままで履歴のみを消去する方法を紹介する。
目次
履歴全選択・Command+Deleteで一括消去

Safariの履歴の特徴として「履歴を消去」のボタンをクリックすると履歴と一緒にWebサイトデータやCookie情報も消えてしまうが、各サイトを個々に選択して履歴を消去した場合はWebサイトデータやCookieは消えない。

これを利用してメニューバーの「履歴」>「すべての履歴を表示」の画面から「Command+A」キーを押して履歴を全部選択し、「Coomand+Delete」で削除を実行するとWebサイトデータやCookie情報を残したまま履歴を一括削除することが可能だ。
macOS Catalina及びSafari 13ではバグにより上記の操作を実行しても一部の履歴は消えない場合があるが、大抵の履歴はさっぱり消えるはずだ。


おまけ:Mac Safariの履歴ファイルの場所
ところでそもそもMac Safariの履歴ファイルはどこにあるのか?
通常はSafariの履歴はクラウド上に存在

通常、iCloudでSafariを有効にしている場合は履歴はクラウド上に保存されている。
ただし、ローカルにも履歴ファイルは存在し、これらのファイルをどこかに保存しておくことでバックアップとして利用可能だ。
注意点としてiCloudでSafariを有効にしている限りはローカルファイルよりもクラウド上のファイルが優先されるため、iCloud有効環境ではローカルファイルの履歴をバックアップしたり、逆に削除したりしても数秒経つとクラウド上のファイルに上書きされてしまう。
ローカルの履歴ファイルのバックアップが有効なのはiCloudでSafariを無効にしている場合に限られる。

ローカルファイルを優先させるには上記画像のようにiCloudのSafariのチェックを外してクラウドを無効にする必要がある。
履歴ファイルの場所
では肝心の履歴ファイルの場所とバックアップ方法を紹介する。

Safariのフォルダは通常のウィンドウ操作ではたどり着けないため、Finderを起動しメニューバーの「移動」>「フォルダへ移動」から以下のパスを入力してSafariフォルダを表示させる。

~/ライブラリ/Safari
フォルダが表示されたら以下の4つのファイルを探す。

これらがローカルの履歴ファイルだ。
- History.db
- History.db-lock
- History.db-shm
- History.db-wal
あとは上記ファイルをどこかに保存してバックアップしておけば履歴のバックアップは完了だ。
ただ、実験してみた限り上記4つのファイルをバックアップしたとしても正常に履歴を復元できないことがあったため、あくまで保険程度に考えておいた方がいいだろう。
また、Webサイトデータや開いているタブなどのデータもバックアップするなら以下のファイル・フォルダをバックアップしてもいいだろう。
- CloudTabs.db
- CloudTabs.db-shm
- CloudTabs.db-wal
- CloudHistoryRemoteConfiguration.plist
- LocalStorageフォルダ
冒頭でも書いた通り、以上のファイルをバックアップしたとしてもiCloud設定でSafariを有効にするとクラウド上のファイルに上書きされてしまう。
上記ファイルに「Cloud」という単語が含まれているのを見るとSafariは完全にiCloud前提のようだ。
上記のバックアップ方法は「絶対にiCloudを利用しない」という場合にのみ有効であることに留意してほしい。
まとめ
Safariはクラウドに依存している上に「履歴を消去」ボタンをうっかり実行してしまうとWebサイトデータやCookieも消えるため少々厄介な仕様となっている。
履歴ファイルの消去や履歴ファイルのバックアップの際はiCloudのことを意識して慎重に行ってほしい。
