2026年07月26日

Ubuntu で Time Machine 的なバックアップ(設定手順)

 Ubuntu でのバックアップ手順がだいたい確立したので、メモしておきます。

1. QNAP 側の設定

  • 「コントロールパネル」から「共有フォルダー」を開き、"LinuxBackups"という名前のフォルダを作成する(名前は何でもよい)。
    20260726-1.png
  • 「高度な許可」タブを開いて、「拡張フォルダ許可を有効にする」のチェックを入れて「適用」を押す(処理にけっこう時間がかかります)。
    20260726-2.png
  • Windows共有 (SMB) も有効にしておくと、各スナップショットの個別のファイルにパソコンのデスクトップからアクセスできるので便利です。まあ、NAS なんで普通はそうしてますよね。
    20260726-4.png
  • 「App Center」から「HBS3 Hybrid Backup Sync」を開き、「サービス」タブの「Rsyncサーバー」を有効にする。ここで入力したユーザー名とパスワードを覚えておくこと。
    20260726-3.png
  • パソコン側のターミナルから SSH で QNAP に入り、/etc/rsyncd.conf に以下のように追記する。(.../etc/rbackup/rotate-backups はこの段階では存在しない。あとで生成します)
    path = /share/CACHEDEV1_DATA/LinuxBackups
    post-xfer exec = /share/CACHEDEV1_DATA/LinuxBackups/etc/rbackup/rotate-backups # この行を追加
    
  • LinuxBackups ディレクトリの直下に etcsnapshots というディレクトリを作成しておく。

2. Ubuntu 側の設定

  • rbackup.gz をダウンロードして展開し、所有者をrootにして/etc/rbackup に置く。
    $ ls -l /etc/rbackup
    total 48
    -rw-r--r-- 1 root root    2 Jul 26 12:03 disable-rbackup-save
    -rw-r--r-- 1 root root  188 Jul 26 12:03 exclude.list
    -rwxr-xr-x 1 root root   89 Jul 26 12:26 invoke_rbackup
    -rw-r--r-- 1 root root   67 Jul 26 12:27 logrotate-backup
    -rw-r--r-- 1 root root 9252 Jul 26 22:02 rbackup-restore
    -rw-r--r-- 1 root root  116 Jul 26 12:05 rbackup-settings
    -rw-r--r-- 1 root root 3277 Jul 26 22:02 rbackup-snapshot
    -rwxr-xr-x 1 root root 1484 Jul 26 12:03 rotate-backups
    -rw-r--r-- 1 root root  135 Jul 26 12:03 rsync-this-folder
    -rw-rw-r-- 1 root root  108 Jul 26 12:05 rsync.passwd
    
  • rbackup-settings に QNAP のサーバアドレスなどを書く。
    cat rbackup/rbackup-settings
    SOURCE=/
    MODULE=LinuxBackups
    SERVER=rsync://rsync@192.168.1.12
    OPTIONS="--password-file=/etc/rbackup/rsync.passwd"
    
  • rsync.passwd に QNAP の rsync サーバへの接続パスワードを書き、パーミッションを 600 にする。当然セキュリティ的には難があるので、閉じたネットワークでないときはそれなりの対応をしてください。ここでは深入りしません。
  • invoke_rbackup/etc/cron.hourly にコピーする。
    #!/bin/bash
    /bin/bash /etc/rbackup/rbackup-snapshot >>/var/log/rbackup/rbackup.log 2>&1
    
  • logrotate-backup/etc/logrotate.drbackup としてコピーする。
    /var/log/rbackup/rbackup.log {
      missingok
      weekly
      rotate 10
    }
    

3. 復旧時の作業

  • Ubuntu Live USB などから立ち上げて、SMB でスナップショットフォルダにアクセスし、/etc/rbackup の中身をフォルダごとコピーする。
  • /etc/rbackup 内のファイルの所有者を root とし、rsync.passwd のパーミッションを 600 に設定する。
  • 復旧先のドライブをマウントする。Dolphin(ファイルマネージャ)で中身が見られる状態になっていればOK。
    20260726-5.png
  • sudo bash /etc/rbackup/rbackup-restore を実行する。あとは画面上の指示に従う。
    20260726-6.jpg

4. おまけ

 Linux のシステムバックアップには Timeshift を使う、というのが定番になっています。今回これを使わなかったのは、ネットワークディスクをバックアップ先にする設定がうまくいかなかったためです。何か回避できる手段があるのかもしれませんが、前々回試した通り、そもそもネットワーク経由でマウントしたディスクにローカルの rsync でファイルを転送する、という作業自体が、ノートPCのスリープと相性が悪い可能性があるので、この方向は深く追求しませんでした。とりあえずバックアップも復旧も目処がついたので、当面はこの運用でいくつもりです。

タグ:Linux
Posted at 2026年07月26日 18:24:04
email.png