Ubuntu日和
【第20回】バックアップあれば憂いなし。Ubuntuで手軽にバックアップを取る(ローカル編)
2023年2月4日 06:17
第18回では、手動でバックアップする方法をいくつか紹介した。
ただ、問題が起きてからバックアップを取るのは少々遅い。理想的には自動的にバックアップを取れているのが望ましい。そもそもシステムトラブルが起きている最中にバックアップを取るとなると、焦りやさまざまな状況から冷静にバックアップを実行するのは難しい。ピンチのときのほうが頭が冴えるタイプの人はあまり多くはないだろう。
そんなわけで、今回は日常的に行なうバックアップの方法を紹介する。「ローカル編」となっているように、PCにバックアップ用のストレージを直接接続している。
使用するPCとバックアップ先の準備
今回使用するPCは、MINISFORUMのTH80とする。まさにこの記事で使用されたTH80が、巡り巡って筆者の手元に来たのだ。
本来は分解して空きのM.2スロットにNVMe SSDの接続をしたかった。バラす方法は公開されているものの、どうやっても蓋が開かなかった。特殊な工具が必要なのかもしれない。仕方がないので、そのへんにあった玄人志向のGWM.2NVST-U3G2CCAにSSD-CK500N3/Nを接続した。以下外付けSSDと呼称する。
Ubuntuのバージョンは22.04 LTSだ。2.5GbEのNICを含め、すべてのデバイスが問題なく認識している。
詳しくは紹介しないが、Ubuntuのインストール前にClonezillaでバックアップを取っている。ちなみにclonezilla-live-20221103-jammy-amd64.isoがおすすめだ。TH80はWindowsのリカバリーイメージを公開しているため、この状態のバックアップは不要かもしれないが。
Clonezillaでのバックアップを外付けSSDに取る場合は、事前にUbuntuのインストールイメージから起動してフォーマットを行なう必要がある。まずは「ディスク」を起動し、外付けSSDを選択する。
そして「+」ボタンをクリックしてメニューを表示し、1つのパーティションをExt4でフォーマットする。
「ディスク」のパーティション表示が変われば完成だ。
このあとにClonezillaのライブイメージから起動してバックアップし、Ubuntuをインストールする。Windowsは削除する。
Clonezillaのバックアップを外付けSSDに取った場合、Ubuntuで起動したあとに外付けSSDをマウントするフォルダーのパーミッションを確認するのを忘れないようにしよう。現在ログインしているユーザーにパーミッションがない場合は、次のコマンドで修正する。
$ sudo chown $(logname): /media/$(logname)/(マウントポイント)/
lognameコマンドは汎用的にするために使用しているので、現在ログインしているユーザー名に置き換えて構わない。マウントポイントは「ディスク」のパーティション情報で確認するのが簡単だろう。
ホームフォルダーのバックアップ(Déjà Dup)
Ubuntuにはその名も「バックアップ」というバックアップソフトがあらかじめインストールされている。ただしインストール時に「最小インストール」を選択するとインストールされない。
注意点としては、今回インストールされている「バックアップ」はバージョンが古いので使用しない。よって公式リポジトリのパッケージがある場合は、あらかじめ削除してほしい。なお削除は「Ubuntuソフトウェア」から行なうのが簡単だ。
そしてSnapパッケージで提供されている「バックアップ」をインストールする。「バックアップ」はわりと頻繁にアップデートされており、より新しいバージョンが提供されるSnapパッケージ版を使用するのが望ましいからだ。Ubuntuソフトウェアで検索する場合は「deja dup」で検索するのがコツだ。「deja dup」、正確な綴りは「Déjà Dup」だが、これが「バックアップ」の正式名称だ。
なおパッケージ管理に関しては第4回を参照してほしい。
]
これでようやく「バックアップ」が起動できる。「backup」で検索するか、「ユーティリティ」の中にある「バックアップ」をクリックして起動しよう。
「最初のバックアップを作成」をクリックしてバックアップ情報を作成する。まずはバックアップするフォルダーと無視するフォルダーを設定する。通常はデフォルトのままでいいだろうが、もし数GBクラスのファイルがホームフォルダーにある場合は、そこは除外しておいたほうがいいかもしれない。
次はバックアップ場所だが、「バックアップ」は認識している外付けSSDの他にも、Googleドライブ、Microsoft Oneドライブにも保存できる。「ネットワークサーバー」は共有フォルダーのことだと思えばいいだろう。今回は外付けSSDである「500GBボリューム」を選択するが、もちろんほかの場所でも構わない。「フォルダー」はホスト名が自動的に入力されるので、通常はこれでいいだろう。
次に進むと今度はパスワードを使用するかどうかを決定する。外付けSSDの場合は紛失の恐れがあるのでパスワードをかけたほうがいいだろう。しかし今回はパスワードはなしにする。
バックアップの設定はこれでおしまいだ。「今すぐバックアップ」をクリックして初回バックアップを実行しよう。できれば「自動的にバックアップする」を有効にしよう。
設定は右上の「≡」(ハンバーガーメニュー)の「設定」から変更できる。
なおリストアは、メインメニューの「復元」をクリックするとフォルダーとファイルが表示される。右下でいつの時点のバックアップからリストアするのかを選択できる。リストアしたいファイルやフォルダーを選択し、左下の「復元」をクリックする。するとウィザードで指定した場所にリストアできる。
システム全体のバックアップ(Timeshift)
実のところ、Ubuntuでシステム全体のバックアップを取る意義は薄い。ホームフォルダーのバックアップが取れていれば、復元は比較的容易だからだ。
とはいえ、パッケージをたくさんインストールしたり、/etc/以下にある設定ファイルをたくさん変更していたりすると、システムのバックアップを取る意義はある。どこを変更したのかパッと分からないことも多いからだ。
Ubuntuでは、システム全体のバックアップはTimeshiftがおすすめだ。Ubuntuソフトウェアから簡単にインストールができる。
インストール後、起動する。するとセットアップウィザードが起動する。スナップショットタイプはデフォルトの「RSYNC」とする。「次へ」をクリックする。
続けてスナップショットの保存場所を選択する。ここからもわかるとおり、Timeshiftはローカルのストレージのみの対応だ。もちろん選択するのは外付けSSDだ。選択したら「次へ」をクリックする。
自動的にスナップショットを作成するタイミングを「スナップショットレベル」と呼んでいる。タイミングとしては、月次か週次で充分だろう。「次へ」をクリックする。
Timeshiftではユーザーのホームディレクトリをスナップショットに含めることもできるが、今回は使用しない。よってそのまま「次へ」をクリックする。バックアップアプリを1つに絞るような場合は、設定を変更するといいだろう。
設定が完了するとメインメニューの画面となる。「新規作成」をクリックし、初回のスナップショット作成を行ってみよう。
リストアももちろんできる。Ubuntuのライブイメージを起動し、端末を使える状態にして次のコマンドを実行する。もちろんインターネットには接続されている必要がある。
$ sudo add-apt-repository universe
$ sudo apt install timeshift
インストールしたTimeshiftを起動すると、やはりウィザードが開始する。その後に復元(リストア)のみが実行できるモードで起動する。
あとはリストアしたいスナップショットを選択して、「復元」をクリックし、ウィザードに従っていけばできる。
ポイントとしてはパーティションを復元する機能はないので、事前に作成しておく必要がある。よく分からない場合は、Ubuntuをインストールしておくといいだろう。
またUbuntuはライセンス上の制限はないので、事前に別PCでリストアを試してから本格的に復旧するという手段も取れる。