今回はTimeShiftというUbuntuで動作するホットバックアップを行うツールを紹介します。
ホットバックアップツール 
本連載第289回 と第290回 で紹介したqt4-fsarchiverは、原則としてUSBメモリやDVD-Rといったライブイメージから起動してバックアップやリストアを行います。例えば、マルチブートにしていて、ハードドライブ[1] まるごとのバックアップ/リストアを行いたい場合にはこのような方法以外に手段はありません[2] 。しかし、「 今使用しているUbuntuのみをその使用中にバックアップを取りたい。問題があればすぐに戻したい」というニーズは確実にあるのではないでしょうか。      
ここでは使用している最中にバックアップを取ることをホットバックアップ と呼びます。あまり聞き慣れない言葉ですが、検索してみたところ、ホットスタンバイみたいな感じでホットバックアップという用語が使われていました。オンラインバックアップのほうが一般的のような気もしますけど、今「オンライン」と聞くとインターネットを連想してしまいますよね。     
ホットバックアップの優れているところは、なんと言っても手軽なところです。いったんUbuntuをシャットダウンし、ライブイメージを起動してバックアップを実行……といった手順を踏まなくても、クリック一回、設定によっては定時でバックアップを実行してくれます。    
それはさておき、Ubuntu 15.10がリリースされて1ヶ月ほど経ち、そろそろ15.04からアップグレードする時期でしょう。また、Ubuntu 16.04はLTSになるため、筆者を含めてアップグレードする方もきっと多いことでしょう。今回はそんな場合に備え、Ubuntuをホットバックアップするツールの一つがTimeShiftです。        
なお、今回の対象であるUbuntuだけではなく、Ubuntuフレーバーや各種派生版でも使用できるはずです。  
TimeShiftの概要 
TimeShift は、非常にシンプルかつ強力なツールで、手軽にバックアップとリストアができます。Ubuntuのリポジトリにパッケージはないため、PPA からインストールします。執筆段階では12.04/14.04/15.04/15.10/16.04のパッケージが用意されていました。すなわちサポートされているUbuntu全部です。           
TimeShiftの特徴は、なんといってもシンプルなところです。システムをバックアップする機能、それをリストアする機能、外部ハードドライブにリストアする機能しかありません。ホームフォルダーをバックアップする機能はないため(詳細後述) 、Deja Dupなどを併用する必要があります。システムとホームフォルダーはバックアップのタイミングは同じである必要性は特にないので、これは合理的といえます。更新の頻度を考えると、例えばホームフォルダーは週に1回、システムは月1回を目安にするといいでしょう。        
ハードドライブにそれだけの空き容量が必要になるのもポイントです。とはいえ、通常システム領域だけだとさほどの大きさにもならないため、ハードドライブの容量が少なければバックアップの保存数を少なくするなどの対処をすれば問題ないでしょう。  
バックアップするフォルダーは/timeshift固定です。ほかに変更することはできません。ということは、NASなど外部メディアにバックアップしたい場合は、その領域を/timeshiftとしてマウントするか、あるいは別途/timeshiftフォルダーをまるごとどこかにコピーする必要があります。rsyncなどを使えば簡単にできることではありますが、この割り切り方はなかなかすごいと思います。    
インストールと起動 
次のコマンドを実行してインストールしてください。
$ sudo add-apt-repository ppa:teejee2008/ppa
$ sudo apt-get update
$ sudo apt-get install timeshift インストールするとメニューに登録されるため、普通に起動してください。UbuntuだとDashから起動できます。 
コマンドラインから起動する場合は、次のとおりです。 
$ sudo timeshift バックアップ 
図1 が起動直後のウィンドウですが、主に使用するのは左上の5つのボタンのみです。バックアップするには、この[Backup]ボタンをクリックするだけです。バックアップは即座に実行され(図2 ) 、完了するとリストに表示されます(図3 ) 。       
図1  起動直後のメインウィンドウ図2  バックアップ実行中図3  バックアップ完了これ以上ないほどシンプルです。
リストア 
リストアするスナップショットを選択し、メインウィンドウの[Restore]をクリックすると、ターゲットとするハードドライブ(デバイス)が表示されるので(図4 ) 、選択して右下の[Restore]をクリックします。すると免責事項ダイアログが表示されるので(図5 ) 、警告と免責事項をよく読んで[はい]をクリックしてください。続いて現在のスナップショットを作成するかどうかのダイアログが表示されるので(図6 ) 、 [ はい]または[いいえ]をクリックしてください。                  
このあとの挙動は、普通に完了ダイアログが表示されるパターンと、完了後自動的に再起動がかかるパターンの2パターンに分かれます。  
図4  ターゲットのハードドライブを選択図5  免責事項図6  現在のスナップショット作成の確認免責事項ダイアログの参考訳は以下のとおりです。
警告:
ターゲットデバイスにあるファイルは全て上書きされます!システムが起動しなくなった場合は、UbuntuライブCDから起動し、TimeShiftをインストールしてから再実行してください。   
作業内容を保存し、全てのアプリケーションを終了してください。 
免責事項:
このソフトウェアは完全に無保証で、作者はこのプログラムを使用したことにより生じるあらゆる損害に対して一切の責任を負いません。ここから先へは進まないでください!  
リストアを継続しますか?
 
設定 
[Settings]ボタンをクリックすると、いくつかの設定ができます。[ Schedule]は、その名のとおり自動バックアップ(スナップショット作成)のタイミングを設定します(図7 ) 。       
[Auto-Remove]タブは、自動削除のタイミングを設定します(図8 ) 。[ Advanced]タブは、バックアップに含める(または除外する)フォルダーやファイルを指定できます(図9 ) 。[ Some locations are excluded by default]をクリックすると、デフォルトで除外しているファイルやフォルダーを確認できます(図10 ) 。説明によると、フォームフォルダーの隠しフォルダー/ファイルはスナップショットに含まれるものの、それ以外は含まれないそうです。              
図7  自動スナップショットの作成タイミング図8  自動削除のタイミング図9  スナップショットに含める(または除外する)ファイルやフォルダーの選択  図10  バックアップから除外されるファイルやフォルダーその他の機能 
メインメニューの[Browse]をクリックすると、スナップショットのあるフォルダーを表示します(図11 ) 。    
右上のコピーアイコン(再読み込みアイコンの左側)をクリックすると、スナップショットを別のハードドライブにリストアすることができます(図12 ) 。ただし今回は動作確認を行っていません。    
図11  スナップショットの保存フォルダーを表示図12  別のハードドライブにリストア