MozillaZine.jp フォーラム https://forums.mozillazine.jp/ |
|
閲覧履歴の部分的復旧は可能? https://forums.mozillazine.jp/viewtopic.php?f=2&t=15833 |
ページ 1 / 1 |
作成者: | mNeji [ 2015年12月24日(木) 12:43 ] |
記事の件名: | 閲覧履歴の部分的復旧は可能? |
ブラウズ中に、操作ミスで「特定のサイトの閲覧履歴」を消去してしまいました。 「Time Machine」で操作ミス(およそ、11:50)より以前のセットをコピーしてくるのは許されますでしょうか?
また、よりスマートな方法があれば、ご教授くださいませんでしょうか? 環境:「Firefox 43.0.1 on OS X 10.10.5」です。 |
作成者: | pal [ 2015年12月24日(木) 14:07 ] |
記事の件名: | Re: 閲覧履歴の部分的復旧は可能? |
拡張子が違う同名のもの(図で言うと、webappsstoreなど)はセットで入れ替え。 まぁ問題はないでしょうけど、自己責任で。 というか、新規プロファイルを作って、その中身を削除し、現在使っているプロファイルの中身をすべてコピー。 次いで、このプロファイルの中で失ったものを入れ替える。 で、確認する。 あるいは、入れ替えではなく、古いものが丸々残っているなら、それを新規プロファイルにコピーしてもよし。 いずれにせよ、万が一何かあっても、オリジナル(今使っているプロファイル。履歴を削除してしまったもの)はそのまま残りますので安心でしょう。 |
作成者: | mNeji [ 2015年12月24日(木) 20:29 ] |
記事の件名: | Re: 閲覧履歴の部分的復旧は可能? |
pal さんが書きました: 拡張子が違う同名のもの(図で言うと、webappsstoreなど)はセットで入れ替え。 まぁ問題はないでしょうけど、自己責任で。 というか、新規プロファイルを作って、その中身を削除し、現在使っているプロファイルの中身をすべてコピー。 次いで、このプロファイルの中で失ったものを入れ替える。 で、確認する。 念のために、この方法を実施し、無事に復旧できました。ご指導感謝します。 余談:
|
作成者: | mNeji [ 2015年12月27日(日) 23:13 ] |
記事の件名: | Re: 閲覧履歴の部分的復旧は可能? |
自己コメントです: その後、2つ副作用が出てきました;
そこで、新規プロファイルを作り、「Time Machine」の正常動作をしていた時のプロファイルの全てをコピー・ペーストしました。
|
作成者: | 偶然的通行人 [ 2015年12月28日(月) 08:46 ] |
記事の件名: | Re: 閲覧履歴の部分的復旧は可能? |
解決済み(?)のところ、横から失礼します。 遅ればせながら本トピックを拝見し、少々気になるところがあったので、コメントさせていただきます。 Firefox をはじめたいていのブラウザでは、閲覧履歴(History または Log)を消去することは簡単にできますが、ブラウザ上の操作で個々の期日やサイトごとに履歴を部分的に追加・変更、インポートやエクスポートすることは、普通はできません。 Firefox の場合、閲覧履歴はプロファイル内にある places.sqlite というファイルにデータベース形式で保管されています。この places.sqlite 内には、閲覧履歴だけでなく、ブックマークやダウンロード履歴も含めて、Firefox の [履歴とブックマークの管理] ウィンドウで取り扱われるデータがまとめて保管されています。 SQLite 形式のデータベース構造を理解できるなら、SQLite 形式を扱えるデータベースソフトで places.sqlite を直接編集することもできなくはないと思いますが、修復したいデータの数が多いと、参照関係の整合性を取りながら削除した「特定のサイトの閲覧履歴」を追加していくのは骨が折れるかもしれません。 mNeji さんが書きました: 「Time Machine」で操作ミス(およそ、11:50)より以前のセットをコピーしてくるのは許されますでしょうか? ある時点における Firefox の履歴データの存在を模式化すると次のようになります。 ■が保存されている1サイト分の履歴情報で、左にいくほど古く、右にいくほど新しいとします。 (A) ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Firefox の [履歴] メニュー([このサイトの履歴を消去])を誤操作して「特定のサイトの閲覧履歴」を削除してしまった場合、時期の新旧を問わず、対象となったサイト(ドメイン)のデータが places.sqlite から削除されます。 □が削除された「特定のサイトの閲覧履歴」を表します。 (B)…… およそ 11:50 ごろ? ■■■■■□■■■■■■■■■□■■■□■■■■■■□■■□ Mac OS X の Time Machine の詳細は存じませんが、バックアップ機能としての一般的な動作がおこなわれると仮定して、指定対象のファイル群が定期的にバックアップされるのであれば、places.sqlite の内容はバックアップされた時点での中身になります。 (C)…… 11:01 ごろ? (B)から約 49 分前 ■■■■■■■■■■■■■■■■■■■■■■■■ この(C)の状態の places.sqlite で(B)の places.sqlite を上書きすると、(C)がバックアップされた時点から過去の履歴は、削除したサイトを含めて復元できますが、バックアップされた時点以降(約 49 分間)の閲覧履歴である(X)は復元されません。 ■■■■■□■■■■■■■■■□■■■□■■■■■■□■■□ ■■■■■■■■■■■■■■■■■■■■■■■■├─(X)─┤ (X)部分の欠落を許容できるか、(X)の期間にはどこも閲覧していないのなら、既存の places.sqlite をバックアップにある最新の places.sqlite で上書きするだけの作業になります。 ただし、places.sqlite をそのまま上書きすることは、上記の(B)~(C)間に追加されたブックマークやダウンロード履歴なども同時に扱われることを意味しますから、上記の(X)に相当するそれらの差分もまた上書きによってなくなります。 上記の事情をふまえた上で、プロファイルの内容物すべてを置き換えるという意味なら、「以前のセットをコピーしてくるのは許されますでしょうか?」に対する答えは "イエス" です。 しかし、添付画像に "部分的に「Time Machine」の少し前のデータと交換は可能?" とあるので気になったのですが、「以前のセット」と仰っているのが places.sqlite など一部のファイル群を指してのことなら、Firefox 本体やアドオンに(X)部分の履歴を参照しているデータが元のプロファイルに残っていた場合、それらの機能に関してデータ参照の整合性が崩れ、予期しない結果が生じるかもしれません。(必ずそうなるとはいいませんが、可能性はあります。) プロファイル内の各ファイルは、そのファイルだけで完結しているものもあれば、相互に関連性を持つものもありますから、タイムマシンの名のごとく以前の状態に戻す(文字通りの意味で「復旧」する)のなら、既存のプロファイル内の全データを、正常にバックアップされている全データで完全に置き換えるのが妥当な方法です。一部でも新旧のデータが混在した場合、確率的にはわずかであっても、そこから問題が生じる可能性が残ります。 なので、pal さんが助言なさっているように、新しいプロファイルを作ったあと中身を全部削除してから、そこにバックアップのデータを丸ごとコピーするのが、「復旧」の名にふさわしい一番安全・確実な手順になると思います。復旧後は、そのプロファイルで Firefox を起動するだけです。 (補足) 添付画像中、拡張子 sqlite-wal が付いたファイルは、元となる SQLite データベースファイルのジャーナルファイルです。 (参考)・ジャーナルとは|ジャーナリング|journal - 意味/解説/説明/定義 : IT用語辞典 http://e-words.jp/w/%E3%82%B8%E3%83%A3% ... 83%AB.html 例えば、places.sqlite-wal は places.sqlite と対応関係があります。Firefox が正常に終了したとき、places.sqlite も正常に更新が完了すれば、places.sqlite-wal は役割を終えていったん消えるという理屈です。 Firefox を起動中にプロファイルのバックアップを取ると、こうしたジャーナルファイルや一時ファイルがいっしょにコピーされます。 復旧作業時、新旧の places.sqlite-wal(あれば places.sqlite-shm も)と places.sqlite を混在させると、places.sqlite-wal の情報を元に places.sqlite が変則的に書き換えられてしまうケースが起こりえます。places.sqlite を初期状態にリセットしてしまった最悪のケースに出会ったこともあります。 もちろん、そうした影響のないファイルもありますが、各ファイルの関係性を正確に把握できないのなら、プロファイル内のファイルを部分的に抜き出して別のプロファイルに上書きコピーすることには、慎重になったほうがいいと思います。やるなら、目的のデータを扱っているファイル群のことを理解してから、部分的な移行を実行することをお勧めします。 以上です。 ご質問の内容をぼくが正しく理解できず、的外れなことを書いていたらすみません。 |
作成者: | mNeji [ 2015年12月28日(月) 11:35 ] |
記事の件名: | Re: 閲覧履歴の部分的復旧は可能? |
偶然的通行人さん、 総括的なご説明ありがとうございました。 今回、自分がした操作は、非常に迂闊だったと反省しています。これまでは、逆に、超保守的で、Firefoxのプロファイルの復旧には「Time Machine」のデータを使うことなく、完全バックアップからのコピー&ペーストしか経験がありませんでした。最近、FirefoxやThunderbirdのプロファイルを見る機会が増え、「Time Machine」からでもいいと考えました。 それで、「Time Machine」のFirefoxプロファイルを眺めているうちに、冒頭にお示ししたタイムスタンプで必要箇所だけのコピー&ペーストで良いのではないかと思い、ついやってしまいました。暴走しすぎでした、とほほ。 結局、(C)の「├─(X)─┤」を許容する方向で妥協しました。これからは;
私はデータベースを触るのは不得意なので、Firefox,Thunderbirdなどのプロファイルの下はアンタチャブルとしていました。遅すぎかもしれませんが、少し勉強してみます。 偶然的通行人 さんが書きました: 復旧作業時、新旧の places.sqlite-wal(あれば places.sqlite-shm も)と places.sqlite を混在させると、places.sqlite-wal の情報を元に places.sqlite が変則的に書き換えられてしまうケースが起こりえます。places.sqlite を初期状態にリセットしてしまった最悪のケースに出会ったこともあります。 これは肝に銘じます。 |
作成者: | 偶然的通行人 [ 2015年12月29日(火) 08:43 ] |
記事の件名: | Re: 閲覧履歴の部分的復旧は可能? |
誤解があるといけないので、念のため...。 Mac OS X の「Time Machine」のことは詳しく存じ上げませんが、別に「Time Machine」のバックアップがダメだといっているわけではありません。 Firefox や Thunderbird の正常なプロファイルに対して、正常なバックアップを確保できるのであれば、手段は問いません。 反対に、正常なバックアップの確保に不安がある手段なら、どんなに便利で手軽で簡単でも、それに頼るべきではないと思います。 確実なバックアップが取れていることを前提にして、バックアップからオリジナルへの復旧は、単にいくつかのファイルを差し替える行為のことではなく、何らかのダメージを負ったオリジナルを正常な状態(あるいは極力それに近い状態)に戻すことが本旨だといえます。 たった一つのファイルをバックアップからオリジナルに書き戻すだけで、オリジナルを正常な状態に戻せることもあれば、関連性のある複数のファイルに対してそのような操作が求められることもあります。データ全体を置き換えなければならないケースもあります。 おおむね次のような観点を押さえられれば理想だと思いますが、思うようにいかないことも多々あります。 (1)オリジナルにどのような問題が起こっているかを、可能な限り正確に把握する (2)確保されているバックアップデータをどのように使えば、オリジナルを正常に戻せるかを吟味する (3)上記2点をふまえ、確実性の高い方法・手順でそれを実行する オリジナルが固定されたひとつだけの場合、バックアップからの復旧に失敗すれば、次はありません。 しかし、Firefox や Thunderbird のプロファイルは、損傷を負ったオリジナルを温存しつつ、復旧用に新しいプロファイル作成し、そこにバックアップからデータを復旧することができます。必要に応じてオリジナルからデータを移植することも可能です。不慣れで操作に失敗しても、やり直しができます。 何度でも、何個でも、プロファイルを作成することができ、複数のプロファイルを併存させられることが最大の利点です。 オリジナルとバックアップの違いは、時間差があることです。この差によって、内部のファイル構成や個々のファイルの内容に違いが生じます。 ファイル群の中には、相互に関連性をもって動作するものがあるため、バックアップからオリジナルへのデータ復旧において、新旧のデータを不用意に混在させることで予期しない問題を起こすケースがあります。 これは、Firefox や Thunderbird のプロファイルについても当てはまります。ですから、「部分的復旧」には注意が必要だということです。上述の(1)や(2)をなおざりにしたままだと、この落とし穴にはまりやすくなります。 しかしながら、個別のファイルだけを移行しても問題がおこらないケースもありますから、何が何でもプロファイル全体を一括して扱わないといけない、ということではありません。起こっている症状によっては、ある種のファイル(例:cookies.sqlite など)はバックアップから書き戻すより、いったん初期化したほうがいい場合もありますし、実際の状況と復元したい状態を勘案しながら判断すべきだと思います。 【おまけ -- (X)の埋め方の一例】 前便で例示した、 (B) ■■■■■□■■■■■■■■■□■■■□■■■■■■□■■□ の履歴を持つ既存 [プロファイル (B)] を温存しておき、新しく作った [プロファイル (C)] にバックアップデータをコピーすると、その [プロファイル (C)] に (C) ■■■■■■■■■■■■■■■■■■■■■■■■ の履歴データが存在することになります。 Firefox を [プロファイル (B)] で起動して [履歴サイドバー] または [履歴とブックマークの管理] を表示し、[最後に表示した日時順に並べる] で存在する履歴をソートすると、上から順に(X)の範囲を目視で確認することができます。 ■■■■■□■■■■■■■■■□■■■□■■■■■■□■■□ ■■■■■■■■■■■■■■■■■■■■■■■■├─(X)─┤ それら個々の履歴項目を順次デスクトップにドラッグ&ドロップすると、インターネットショートカットとして保存されます。(X)の範囲に当てはまるサイトを上から順に保存し、その数だけインターネットショートカットを作っておきます。ただし、削除されてしまった□部分には対応できません。 いったん Firefox を終了し、次いで [プロファイル (C)] で Firefox を起動します。 保存したインターネットショートカットを、Firefox にドラッグ&ドロップすると、そのサイトを開き、履歴が保存されます。 順番にこだわるなら、希望する順にインターネットショートカットを Firefox にドラッグ&ドロップしていくと、その順で(C)に履歴が追加されていき、□部分を除いて(X)を埋めることができます。 (C)+(X) ■■■■■■■■■■■■■■■■■■■■■■■■■■□■■□ これは、特別なツールをいっさい使わず、純粋に Firefox の機能だけで(X)を可能な限り埋める方法です。 どうしても必要なら、上記の■に相当する履歴を利用して、(X)の範囲にある□を埋めることもできなくはありません。 ただし、複数の履歴項目を一括選択してインターネットショートカットを作ることや、複数のインターネットショートカットを一括選択して Firefox のウィンドウに開かせることはできません。数が多いとひとつずつ操作する手間がかかります。けっしてスマートとはいえません。 それでも、Firefox の機能だけで処理していますからネイティブな方法とはいえますし、核となる操作は極めてシンプルですから、中途半端にあれこれのツールを使うより確実性は高いと思います。 (X)の数が多くなるほど実用性は低下しますが、ユーザーが許容できる数であり、作業の手間をかけても履歴の差分を回復したいのであれば、こういう方法もありますよ、という話でした。 (バリエーション) (1)保存したインターネットショートカットを、いったんブックマークの取り込む方法もあります。 ブックマークに作業用のフォルダを作り、デスクトップに保存した複数のインターネットショートカットをまとめて選択してそのフォルダにドロップすると、ブックマークとして取り込まれます。その後、当該フォルダに対して [タブですべて開く] を実行すると、全部のサイトが一気に開かれ、それに応じて履歴も保存されます。 (2)別インスタンスでプロファイル別に2つの Firefox を同時起動すれば、インターネットショートカットを作らなくても2つの Firefox のウィンドウ間で(X)のサイトを開かせることができます。(B)で起動した Firefox にある(X)にあたる履歴項目を、(C)で起動した Firefox のウィンドウにドラッグ&ドロップしていけば、同じ結果を得られます。 以上、長々と失礼いたしました。 |
作成者: | mNeji [ 2015年12月29日(火) 15:11 ] |
記事の件名: | Re: 閲覧履歴の部分的復旧は可能? |
偶然的通行人さん、 お陰様で、長年、手を出すのが苦手だったプロファイルを平静に観察できるようになりました。一度、練習用プロファイルを作って弄り廻してみます。 「Time Machine」: 私のようにおっちょこちょいのユーザには欠くことの出来ない優れ者だと思っています。と同時に保守(“Disk Utility”によるパーミションの修復)が必須です。大抵はeditorで作ったファイルをリネームしたと思って消去してしまったのを復旧するといった簡単な利用が大部分です。 したがって、よほど大切な古いタイムスタンプのデータを復旧するには、以前のフルバックアップからコピーしてくる場合が大部分でした。これを「Time Machine」からできると、だいぶ手間が省けて嬉しいです。 本題に戻ります; 偶然的通行人 さんが書きました: ある種のファイル(例:cookies.sqlite など)はバックアップから書き戻すより、いったん初期化したほうがいい場合もありますし、実際の状況と復元したい状態を勘案しながら判断すべきだと思います。 一度、練習プロファイルでcookies.sqliteを消去して、挙動をみてみます。 偶然的通行人 さんが書きました: 【おまけ -- (X)の埋め方の一例】 まだ完全に消化できていませんが、練習プロファイルで、テストしてみたいです。なんとなく、この方法が自分にはフィットしそうです。 [quote=“偶然的通行人”](バリエーション)[/quote] インターネットショートカットは、Macでは.wblocと呼ばれるファイルでしょうか。もしそうなら、ご教示の方法にはとても興味があります。 というのも、
ご紹介の方法は、「上記の準備」に応用できそうなのでしばし検討してみます。 なお、 偶然的通行人 さんが書きました: (2)別インスタンスでプロファイル別に2つの Firefox を同時起動すれば、 これはスクリプトでプロファイル名をパラメータとしてfirefox.appを開くのでしょうね。後で検索してみます。 |
ページ 1 / 1 | All times are UTC + 9 hours |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |