【STEP-24】では、起動中のOS ( Raspbian ) を直接、microSDカードにバックアップしましたが、今回は外部ストレージにmicroSDカードのイメージを圧縮して保存したり、その圧縮ファイルを展開してmicroSDカードにコピーすることで、バックアップとリカバリーを随時に実行する方法を紹介します。
バックアップ毎にmicroSDカードを必要とする【STEP-24】に比べて、目的別、世代別のバックアップをひとつのストレージにファイル名で管理できるのが、この方法のメリットになります。
今回は、バックアップするmicroSDカードとは別に、もうひとつRaspbianをインストールしたmicroSDカードを用意 (【STEP-23】、【STEP-24】等 ) し、そちらを起動して作業を行います。
外部ストレージのフォーマット
外部ストレージをRaspberry Piで初めて使用する場合は、Raspberry Piでフォーマットしておきましょう。
今回使用する外部ストレージにはOS ( Raspbian ) のバックアップイメージを保存する為、ひとつで4GB以上のファイルでも読み書き可能な”ext4″というフォーマット形式でフォーマットします。
フォーマットの前に、コマンド”umount“で、外部ストレージ”sda”をアンマウントしておきます。
umount /dev/sda
コマンド”mkfs.ext4“で、外部ストレージ”sda”を”ext4″でフォーマットします。
sudo mkfs.ext4 /dev/sda
外部ストレージへのバックアップ
「ファイルマネージャ」画面でフォーマットした外部ストレージが開くので、”/media/pi/”の下にマウントされたUUID“263c4edf-03a7-427c-b814-b557167b9723″の上で右クリックして現れるプルダウンメニューから「パスをコピーする」を左クリックします。
「LXTerminal」画面に戻り、コマンド”cd ( 半角スペース ) “で保存先 ( 外部ストレージ ) のマウント位置に移動します。
cd
sudo dd if=/dev/sde bs=4M status=progress | gzip -c -v > 180327_raspbian.gz
仕方がないので、ルートユーザーとして実行します。
sudo su
dd if=/dev/sde bs=4M status=progress | gzip -c -v > 180327_raspbian.gz
バックアップからのリカバリー
コマンド”gunzip”をルートユーザーとして実行します。”gunzip -c -v”の後にも”半角スペース”を入力しておきます。「Enter」キーはまだ押しません。
gunzip -c -v
“半角スペース| ( バーティカルバー ) 半角スペース”の後にコマンド”dd”を入力します。書き込み先の”of=”には、USB端子に接続したmicroSDカードのデバイスファイル ( この例では”/dev/sde” ) を入力します。
ここまで入力したら「Enter」キーを押します。
| dd of=/dev/sde bs=4M status=progress conv=fsync
コマンド”sync“で、キャッシュ ( メモリ ) の内容を全てディスクに書き込ませておきます。
sync
Raspberry Piを一旦、シャットダウンして、カードスロットのmicroSDカードを今回リカバリーしたものに差替えて起動したら、バックアップしたときと同じRaspbianのデスクトップが表示されました。
次回の【STEP-26】では、OS ( Raspbian ) をUSB接続した外部ストレージ ( SSD等 ) から起動することで、記憶容量の拡大やシステムの安定化を図る方法を紹介します。