FirefoxのプロファイルをRoboCopyで世代管理バックアップ!
2018/04/22
本エントリーの目次
Firefoxのプロファイルは突然破損する!
Firefoxはプロファイルフォルダと呼ばれる場所に、ユーザーごとの設定情報や閲覧履歴、保存したパスワードなどの情報を保持しています。
この仕組みは非常に便利で、このプロファイルフォルダを別のPCにコピーして、プロファイルの読み込み設定を行うだけで、別のPCでもユーザーごとのFirefoxの設定やパスワードを引き継ぐことが可能です。
ですがこの便利なプロファイル、困ったことに時々破損することがあるんです。
これはFirefoxにインストールしたアドオンの組合せ(相性)が原因で起こることが多い、という印象です。
ですが希にFirefoxが内部で使用している、SQLiteという軽量データベースが、長期間の使用により肥大化し、破損してしまうことも。
細かい設定内容なんていちいち覚えていない!
Firefoxの愛用者の方の多くは、はるると同じように、アドオンによる拡張性の高さに魅力を感じている方が多いはず。
そうであれば当然自分が使いやすいように、さまざまなアドオンのインストールや、設定変更によるカスタマイズを行っていることでしょう。
ですがその細かい設定内容については、一度設定した後は覚えていないことがほとんどではないかと。
これが、プロファイルが破損した際の復旧時にとっても困ることなんです。
というのも、Firefoxのプロファイルが壊れた場合、それがたとえ部分的な破損であったとしても、壊れた箇所やその影響範囲の特定が面倒。
そのため新規のプロファイルを作成し、そこに再度設定を行った方が復旧が早いことが多いはず。
ですがそのほとんどの場合において、Firefoxの設定を完全に復元することはできないでしょう。
だってアドオンのインストール時に行った細かい設定内容なんて、いちいち覚えていないでしょうから。
だから重要なデータと同じように、Firefoxのプロファイルは常に破損の可能性を考え、定期的にバックアップを取っておいた方が良いのです!
そこで今回は、Windows Vista以降のWindowsから標準搭載されているRoboCopyコマンドを使用して、Firefoxのプロファイルを世代管理を行いながら、バックアップする方法をご紹介します!
RoboCopyコマンドで、特定フォルダのデータを世代管理しながら、バックアップする方法
まず、Firefoxのプロファイルに限らず、汎用的に使用可能で便利な、フォルダの世代管理を行いながら、バックアップを取得する方法をご紹介します。
メモ帳を起動して、以下の内容を記述してください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | @echo off REM -------------------------------------------------- REM バックアップ元フォルダ指定 REM -------------------------------------------------- set source="D:\firefox\profile" REM -------------------------------------------------- REM バックアップ先フォルダ指定 REM -------------------------------------------------- set destinationDir="D:\firefox\backup" REM -------------------------------------------------- REM バックアップ先世代数 REM -------------------------------------------------- set generation=20 REM -------------------------------------------------- REM バックアップフォルダ名(YYYYMMDD-HHMMSS)を取得 REM -------------------------------------------------- set dt=%date:~-10% set tm=%time: =0% set LogTime=%dt:~0,4%%dt:~5,2%%dt:~8,2%-%tm:~0,2%%tm:~3,2%%tm:~6,2% REM -------------------------------------------------- REM バックアップ先取得 REM -------------------------------------------------- set destination="%destinationDir:"=%\%LogTime%" REM -------------------------------------------------- REM バックアップ先フォルダ作成 REM -------------------------------------------------- mkdir %destination% REM -------------------------------------------------- REM バックアップ実行 REM -------------------------------------------------- robocopy %source% %destination% /MIR /MT:128 /ZB /XJ REM -------------------------------------------------- REM 世代管理実行(generationで指定された世代数のみ保持する。) REM -------------------------------------------------- cd /d %destinationDir% for /f "skip=%generation%" %%A in ('dir /b /ad /o-n ????????-??????') do rd /s /q %%A |
次に5行目のダブルクォートで囲まれた部分に、バックアップ元フォルダのフルパスを指定します。
同様に10行目のダブルクォートで囲まれた部分に、バックアップ先フォルダのフルパスを指定します。
バックアップ先フォルダには、実在するフォルダのフルパスを指定してください。
もしバックアップ先フォルダ(上記例では『D:\firefox\backup』)が存在しない場合は、あらかじめバックアップ先のフォルダを作っておいてください。
15行目には、バックアップ先に保存するバックアップの世代数を指定します。
そして指定が終わったら、任意のファイル名で保存し、拡張子をbatとしてください。
上記設定例では、『D:\firefox\profile』フォルダの内容を『D:\firefox\backup』フォルダにバックアップし、過去20世代分を保持する、という仕様となります。(21世代目のバックアップを取得すると、最も古い1世代目のバックアップを自動的に削除する。)
これを実際に実行すると、以下のように日付+時刻(YYYYMMDD-HHmmss形式)のフォルダが作成され、それぞれのフォルダ内にバックアップが取得されます。
尚、UACが有効の場合は保存するパスによっては、UACの解除を行うか、作成したbatファイルを管理者権限で実行する必要があるのでご注意ください。
RoboCopyコマンドで、Firefoxのプロファイルを世代管理しながら、バックアップする方法
さて、それでは肝心のRoboCopyコマンドを使用して、Firefoxのプロファイルを世代管理しながら、バックアップする方法をご紹介したいと思います。
これは先にご紹介した、RoboCopyコマンドで、特定フォルダのデータを世代管理しながら、バックアップする方法を応用したものとなります。
まずは先ほどと同じように、メモ帳を起動して、以下の内容を記述してください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | @echo off REM -------------------------------------------------- REM バックアップ元フォルダ指定 REM -------------------------------------------------- set source="D:\firefox\profile" REM -------------------------------------------------- REM バックアップ先フォルダ指定 REM -------------------------------------------------- set destinationDir="D:\firefox\backup" REM -------------------------------------------------- REM バックアップ先世代数 REM -------------------------------------------------- set generation=20 REM -------------------------------------------------- rem Firefoxインストール先 REM -------------------------------------------------- set firefoxInstallPath="C:\Program Files (x86)\Mozilla Firefox\firefox.exe" REM -------------------------------------------------- REM バックアップフォルダ名(YYYYMMDD-HHMMSS)を取得 REM -------------------------------------------------- set dt=%date:~-10% set tm=%time: =0% set LogTime=%dt:~0,4%%dt:~5,2%%dt:~8,2%-%tm:~0,2%%tm:~3,2%%tm:~6,2% REM -------------------------------------------------- REM バックアップ先取得 REM -------------------------------------------------- set destination="%destinationDir:"=%\%LogTime%" REM -------------------------------------------------- REM バックアップ先フォルダ作成 REM -------------------------------------------------- mkdir %destination% REM -------------------------------------------------- REM バックアップ実行 REM -------------------------------------------------- robocopy %source% %destination% /MIR /MT:128 /ZB /XJ REM -------------------------------------------------- REM 世代管理実行(generationで指定された世代数のみ保持する。) REM -------------------------------------------------- cd /d %destinationDir% for /f "skip=%generation%" %%A in ('dir /b /ad /o-n ????????-??????') do rd /s /q %%A rem ----------------------------------------------------------------------- rem firefox起動 rem ----------------------------------------------------------------------- start "dummy" %firefoxInstallPath% |
5行目には、Firefoxのプロファイルフォルダを指定してください。
プロファイルフォルダのパスの探し方は、こちらを参考に。
20行目には、Firefoxの実行ファイル(firefox.exe)のパスを指定します。
指定が終わったら、任意のファイル名で保存し、拡張子をbatとしてください。
あとはFirefoxを実行していない状態で、batファイルを実行するだけ。
バックアップが完了すると、Firefoxが起動するようになっています。
Firefoxの実行中は、プロファイルフォルダ内のファイルがロックされている、または編集中の場合があります。
そこで安全にバックアップを行うために、Firefoxを実行していない時にバックアップを行い、バックアップ完了後にFirefoxを起動してあげる、という手順を踏んでいます。
そのためFirefoxを起動する際は、毎回このバックアップbatを実行すれば、指定した世代数のバックアップを取得し続けるので安全、というわけ。
スタートアップに組み込んであげれば、自動化できるのでさらに楽チン!
PCを起動したら、必ずFirefoxを使う、という方もいらっしゃるでしょう。
この場合は、先のbatファイルをスタートアップに設定しておくことで、Windowsにログイン後、自動的にFirefoxのプロファイルのバックアップを開始。
それが終わったら、Firefoxが自動で起動するようになります。
そのためとっても楽チン!
いざという時に頼りになる、それがバックアップ!
正常に動作している時は、バックアップのことはどうしても軽視しがち。
ですがいざトラブルが起きた時に、頼りになるのがこのバックアップ。
もちろん今回ご紹介した方法でなくても構いません。
ただ正常に動作しているうちに、ぜひ何らかの方法で、バックアップの設定を行っておくことをおすすめします!