Ubuntu でのバックアップ手順がだいたい確立したので、メモしておきます。
1. QNAP 側の設定
- 「コントロールパネル」から「共有フォルダー」を開き、"LinuxBackups"という名前のフォルダを作成する(名前は何でもよい)。
- 「高度な許可」タブを開いて、「拡張フォルダ許可を有効にする」のチェックを入れて「適用」を押す(処理にけっこう時間がかかります)。
- Windows共有 (SMB) も有効にしておくと、各スナップショットの個別のファイルにパソコンのデスクトップからアクセスできるので便利です。まあ、NAS なんで普通はそうしてますよね。
- 「App Center」から「HBS3 Hybrid Backup Sync」を開き、「サービス」タブの「Rsyncサーバー」を有効にする。ここで入力したユーザー名とパスワードを覚えておくこと。
- パソコン側のターミナルから 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ディレクトリの直下にetcとsnapshotsというディレクトリを作成しておく。
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>&1logrotate-backupを/etc/logrotate.dにrbackupとしてコピーする。
/var/log/rbackup/rbackup.log { missingok weekly rotate 10 }
3. 復旧時の作業
- Ubuntu Live USB などから立ち上げて、SMB でスナップショットフォルダにアクセスし、
/etc/rbackupの中身をフォルダごとコピーする。 /etc/rbackup内のファイルの所有者を root とし、rsync.passwdのパーミッションを 600 に設定する。- 復旧先のドライブをマウントする。Dolphin(ファイルマネージャ)で中身が見られる状態になっていればOK。
sudo bash /etc/rbackup/rbackup-restoreを実行する。あとは画面上の指示に従う。
4. おまけ
Linux のシステムバックアップには Timeshift を使う、というのが定番になっています。今回これを使わなかったのは、ネットワークディスクをバックアップ先にする設定がうまくいかなかったためです。何か回避できる手段があるのかもしれませんが、前々回試した通り、そもそもネットワーク経由でマウントしたディスクにローカルの rsync でファイルを転送する、という作業自体が、ノートPCのスリープと相性が悪い可能性があるので、この方向は深く追求しませんでした。とりあえずバックアップも復旧も目処がついたので、当面はこの運用でいくつもりです。
タグ:Linux