【ラズベリーパイ】MicroSDカードを定期的に自動バックアップする方法

Raspberry Pi(ラズベリーパイ)のMicroSDカードを定期的に自動バックアップする方法について紹介します。

参考文献

rpi-cloneを使う方法(初期設定と初回実行)

① 以下のコマンドでを実行し、rpi-cloneをインストールします。

git clone https://github.com/billw2/rpi-clone.git

② 以下のコマンドを実行し、rpi-cloneを登録します。

$cd rpi-clone
sudo $cp rpi-clone rpi-clone-setup /usr/local/sbin

③ 以下のコマンドを実行し、SDカードのデバイス名を確認します。

$lsblk
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda           8:0    1     0B  0 disk 
sdb           8:16   1 119.1G  0 disk 
├─sdb1        8:17   1   256M  0 
└─sdb2        8:18   1 118.8G  0 
mmcblk0     179:0    0 119.4G  0 disk 
├─mmcblk0p1 179:1    0   512M  0 part /boot/firmware
└─mmcblk0p2 179:2    0 118.9G  0 part /

③ 以下のコマンドを実行すると、SDカードにコピーが開始されます。

$ sudo rpi-clone sdb2

④ 以下のように表示されるので、yesなど入力していく。

  Destination disk partition /dev/sdb2 is mounted on /media/fuji/rootfs.
  The clone cannot proceed unless it is unmounted.
Do you want to unmount /media/fuji/rootfs?  (yes/no): yes

  Destination disk partition /dev/sdb1 is mounted on /media/fuji/BOOTFS.
  The clone cannot proceed unless it is unmounted.
Do you want to unmount /media/fuji/BOOTFS?  (yes/no): yes

Booted disk: mmcblk0 128.2GB               Destination disk: sdb 127.9GB
---------------------------------------------------------------------------
Part               Size    FS     Label           Part   Size    FS     Label   
1 /boot/firmware   512.0M  fat32  --              1      256.0M  fat32  --      
2 root             118.9G  ext4   rootfs          2      118.8G  ext4   rootfs  
---------------------------------------------------------------------------
== SYNC mmcblk0 file systems to sdb ==
/boot/firmware        (76.0M used)   : SYNC to sdb1 (256.0M size)
/                     (7.8G used)    : SYNC to sdb2 (118.8G size)
---------------------------------------------------------------------------
Run setup script       : no.
Verbose mode           : no.
-----------------------:

Ok to proceed with the clone?  (yes/no): yes

Syncing file systems (can take a long time)
Syncing mounted partitions:
  Mounting /dev/sdb2 on /mnt/clone
  => rsync // /mnt/clone with-root-excludes ...
  Mounting /dev/sdb1 on /mnt/clone/boot/firmware
  => rsync /boot/firmware/ /mnt/clone/boot/firmware  ...

Editing /mnt/clone/etc/fstab PARTUUID to use 4c15acf5
===============================
Done with clone to /dev/sdb
   Start - 11:50:06    End - 12:13:17    Elapsed Time - 23:11

Cloned partitions are mounted on /mnt/clone for inspection or customizing. 

Hit Enter when ready to unmount the /dev/sdb partitions ... ←ここで止まるのでEnterを押す
  unmounting /mnt/clone/boot/firmware
  unmounting /mnt/clone
===============================

rpi-cloneを使う方法(cronで定期実行)

rpi-cloneによるバックアップをcronで定期実行させたい場合、qオプション(quiet mode:実行に関して何も通知を出さない、yesなどが求められない)を使います。
例えば、毎晩1:00に実行させたい場合、以下のように設定します。

0 1 * * * sudo bash rpi-clone sdb -q

関連ページ

ラズベリーパイ4・5の使い方と応用例
ラズベリーパイ4・5の使い方や応用例について入門者向けにまとめてみました。
Raspberry Pi

コメント