バックアップを考えたい
現在バックアップはUbuntuのデフォルトのdeja-dupを使っている。保存先は同じPCに差さっているストレージ。これはduplicityのフロントエンドで増分バックアップとたまにスナップショットバックアップを取ってくれる。保存データはチャンクに分割され、tar.gzに保管される。確か暗号化オプションもあったはず。
しかし普通にフルスキャンが走るのでバックアップが遅いし増分バックアップなのでリストアも遅い。そこで最近btrfsベースの簡易バックアップ(タイムマシン)も取ることにした。
これはbtrfsのスナップショットを使うので速いし、ファイル単位の復元も手軽。また、元々4枚のストレージでRAID5を組んでいるので1枚くらいの破損には耐えられる。こうなるとdeja-dupで取っているバックアップの役割が変わってくる。普段の使用で想定されるファイルの誤削除やストレージの寿命はbtrfs側で処理できるのでdeja-dupに期待されるのは操作ミスでストレージの中身を全部消したとか家が燃えてPCが丸ごとダメになったとかの場合に備えたバックアップ。こういうのはクラウドストレージに保管したい。できれば安く。
すぐに思い付くのはS3だが、deja-dupはサポートしてない(duplicityはサポートしてる)上にデータ転送量が高いので個人でバックアップに使うには向いてないよう。
NAS のクラウドバックアップのコスト (Amazon S3 vs Backblaze B2) – ikata.co::blog
↑のブログでも紹介されている通りBackblaze B2がよさそうだが、他にも選択肢がないのかこのスクラップで検討したい。
$HOME
をまとめてtarにしてdropboxに突っ込んでもいいんじゃないかという気もしてきた
あるでしょって思ってしらべたらやっぱりarchwikiにバックアップの記事があった
カテゴリ:バックアップ - ArchWiki
Tar によるフルシステムバックアップ - ArchWiki
同期およびバックアッププログラム - ArchWiki
んー、tarにそもそもインクリメンタルバックアップの機能があるっぽい。
tar.xzにしようとしたらめちゃくちゃ遅かった。並列圧縮できるらしい。
並列圧縮(gz,bz2,xz) - Qiita
因みにb2試したところ、キーに /
が入るようになったのかduplicityのURLスキームだと上手く処理できなくてエラーになったし、aptで入るやつだとb2のモジュールが入ってなかったので一筋縄では解決できなそうだった。
細部は個人に合わせるとして、おおむねこんな感じのスクリプト書いて月1か週1くらいで走らせるとよさそう。homeの容量は400GBくらいあったはずだけど圧縮したらどれくらいになるかな。
mv $HOME/Dropbox/backup/home.tar.xz $HOME/Dropbox/backup/home.old.tar.xz
latest_snapshot="$(ls -rt /pool/backups/ | grep @home | head -n1)"
nice tar cvf $HOME/Dropbox/backup/home.tar.xz \
--sparse \
--use-compress-prog=pixz \
-p --xattrs \
--exclude=Dropbox \
--exclude=.cache \
-C "/pool/backups/$latest_snapshot/$USER/" \
.
なんかエラー出てて不穏だけど一旦終わった。129GB。xz優秀だな。
$ ls -lha
合計 129G
drwxrwxr-x 1 shun shun 22 4月 30 16:46 .
drwx------ 1 shun shun 618 4月 30 16:19 ..
-rw-rw-r-- 1 shun shun 129G 4月 30 17:32 home.tar.xz
因みにhomeはDropboxとか.cacheとか除くと317Gだから結構圧縮効いてるっぽい。
$ du -h --exclude=Dropbox --exclude=.cache -s $HOME
317G /home/shun
まとめた