2025/07/01

Timeshift のバックアップ時刻を調整した

バックアップアプリケーション Timeshift は自動でシステムをバックアップして、復旧も難なくできてしまう素晴らしいアプリケーションなのだけど、2 つ不満がある。

1 つ目は GUI で復旧操作について。多くのデバイスを /etc/fstab に登録していると、下記画像のように復旧先の選択でダイアログが伸びすぎて一番下の OK ボタンがクリックできない点。これは、コマンドラインから操作すれば何とかなるので、何とかなる。

2 つ目は、バックアップ間隔を毎月や毎週、毎日と設定できるが、実行時刻を設定できない点。これについて、解決方法が見つかったので、記していく。

参考にしたのは、「How to force Timeshift to schedule backups at a specific time of day – Two "Sort Of" Tech Guys」というサイト。このサイトによると、Timeshift はバックアップしたスナップショットディレクトリの "info.json" にバックアップ時刻を残しており、この最新バックアップから毎週、毎月、毎日の時刻を計算しているらしい。つまり、この最新バックアップ内の "info.json" の時間を調整すればいけるということだ。

手順は以下の通り。

  1. Timeshift を起動して、設定ボタンからバックアップの保存先を調べる。
    (私の場合は、/home のデバイスにしているので /home/timeshift)
  2. バックアップ先配下に snapshots というディレクトリがあるので、その中の最新の日付のディレクトリに入る。
  3. info.json ファイルがあるので、バックアップのため、コピーして別名で保存する。
  4. テキストエディタで、info.json を開く。
  5. ターミナルを開き、以下のコマンドを実行する。
          $ date -d "2025/07/01 12:00:00" +%s
          1751338800
          
    ここで日時は次のバックアップ日時の計算に使われるため、次回の 1 回前の日時を設定する。私は毎週設定で、次は 7/8 12:00 に設定したいので、その 1 週間前の 7/1 12:00 に設定した。
  6. info.json の "created" の数字をコマンド実行で得られた UNIX 時間に置き換えて、保存する。

これでまた一つ幸せになれた。