実行環境
- Ubuntu Server 20.04 LTS
前置き
Linux版「システムの復元」または「TimeMachine」と名高い(?)Timeshift ですが、
本家のReadmeも使い方をまとめた記事もGUI操作が前提のものばかりで、CUIでの実行は中々ヒットしません。
今回はタイトルの通り「バックアップ対象にホームディレクトリを含める方法」が分からなくて苦労したので、自分と同じようにCUIで操作する方の為に残しておきます。
※注意※
user-data-is-excluded-by-default に書いてある通り、
Timeshiftでは意図的にホームディレクトリをバックアップ対象から除外しています。
ホームディレクトリのバックアップが必要かどうかはご自身の判断でお願いします。
結論
結論から言うと、バックアップ対象に含めたいディレクトリの先頭に +
を付けて下さい。
"exclude" : [
"/root/**",
"+ /home/piyo/**"
],
基本
前提として、CUIで操作する場合は設定ファイル (/etc/timeshift/timeshift.json
) を直接変更します。
このファイルの中身は以下の通りです。
{
"backup_device_uuid" : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"parent_device_uuid" : "",
"do_first_run" : "false",
"btrfs_mode" : "false",
"do_first_run" : "true",
"btrfs_mode" : "false",
"include_btrfs_home" : "false",
"stop_cron_emails" : "true",
"schedule_monthly" : "false",
"schedule_weekly" : "false",
"schedule_daily" : "false",
"schedule_hourly" : "false",
"schedule_boot" : "false",
"count_monthly" : "2",
"count_weekly" : "3",
"count_daily" : "5",
"count_hourly" : "6",
"count_boot" : "5",
"snapshot_size" : "0",
"snapshot_count" : "0",
"exclude" : [
"/root/**",
"/home/piyo/**"
],
"exclude-apps" : [
]
}
大体の設定方法は項目名を見ればなんとなく分かるんじゃないかと思います。
こちらの記事に一部ですが記載があったので参考にどうぞ。
弐号機 システムバックアップ
本題
バックアップ対象に含めたいホームディレクトリを「/home/piyo」とします。
ホームディレクトリを除外している設定は /etc/timeshift/timeshift.json
の "exclude" の部分です。
"exclude" : [
"/root/**",
"/home/piyo/**"
],
exclude(除外)の指定なんだからそこから消せばいいじゃん!ってことで
"exclude" : [
"/root/**",
],
こんな感じに変更しても、piyoユーザーのホームディレクトリはバックアップ対象になりませんでした。
ではどうすればバックアップ対象に出来るのか。
調べても中々ヒットしませんでしたが、GitHubのIssueに答えがありました。
Added filters appear to not be working
正しい設定方法は
"exclude" : [
"/root/**",
"+ /home/piyo/**"
],
「先頭に+
を付ける」です。
変更後、バックアップ取得コマンドを実行すると/home/piyo/
以下のディレクトリもバックアップ対象になっていることを確認しました。
感想
exclude で指定しているのに+
を付けるとバックアップ対象に含まれるのはとても分かりづらい。
参考