Ubuntu Server環境において、Timeshiftを用いたシステムバックアップと復旧の手順をまとめてみました。
1. インストール
システムのパッケージリストを更新し、Timeshiftを導入します。
sudo apt update
sudo apt install timeshift
2. 初期設定(重要:デバイスと方式の決定)
バックアップをどこに、どのような方式で保存するかを指定します。
手順A:保存先ディスクのデバイス名を確認
出力結果から「Type: ext4」で、十分な空き容量のある名前(例: /dev/sda1)を探します。
sudo timeshift --list-devices
手順B:保存先デバイスを紐付ける
※ /dev/sda1 の部分は、自分の環境に合わせて書き換えます。
sudo timeshift --snapshot-device /dev/sda1
手順C:バックアップ方式をRSYNC(標準)に設定
サーバー環境(ext4等の一般的なファイルシステム)ではこれが推奨されます。
sudo timeshift --rsync
3. 特定ディレクトリの除外
Timeshiftは標準では /root や /home を除外します。
"exclude" : [
"/home/user/**",
"/root/**"
],
4. 特定ディレクトリの追加
“exclude” セクションの中に、含めたいパスの先頭に「+」を付けて記述します。
"exclude" : [
"+ /home/user/**",
"/root/**",
"+ /mnt/hdd/my_files/***"
],
アスタリスクの数によるバックアップ範囲の違い
設定パス: /mnt/hdd/my_files/ 以下の扱い
*(1つ)- ○
memo.txt(直下のファイル) - ○
Photos/(直下のフォルダ) - ×
Photos/trip.jpg(フォルダの中身は含まない)
- ○
**(2つ)- ○
memo.txt - ○
Photos/ - ○
Photos/trip.jpg(階層を潜ってすべて含める)
- ○
***(3つ)- ◎
my_files/フォルダそのもの - ◎ その配下にある全ファイル・全階層
- (ディレクトリ構造をより厳密に保持したい場合に使用)
- ◎
5. バックアップの作成とスケジュール
手動での作成方法と、日次での自動保存設定です。
手順A:手動で初回バックアップを作成
sudo timeshift --create --comments "Initial Backup" --tags D
手順B:毎日自動でバックアップを取る設定(5回分を保持)
"schedule_daily" : "true",
"count_daily" : "5",
6. 復元(Restore)とブート領域の注意点
システムが不安定になった際や、起動トラブル時の復旧手順です。
復元コマンドの実行
sudo timeshift --restore
【復元時の重要ポイント:Boot領域】
- 復元中に「GRUBブートローダーをどこにインストールするか」を選択する画面が出ます。
- 通常は、OSがインストールされているディスクのルート(例: /dev/sda)を選択します。
- これにより、/boot 内のカーネルファイルだけでなく、起動に必要なブートローダー自体も再構築されます。
【起動しなくなった場合】
OS自体が立ち上がらない場合は、UbuntuのライブUSB等から起動し、そこからTimeshiftをインストールして復元を実行します。
7. 日常的な管理コマンド
作成済みのバックアップ一覧を確認
sudo timeshift --list
不要になったスナップショットを削除
sudo timeshift --delete --snapshot '確認したID'
現在の設定内容(JSON形式)を確認する
cat /etc/timeshift/timeshift.json
今後は
Apacheの設定変更や、WordPressのメジャーアップデート、OSの「apt upgrade」を行う直前に、 手動で「sudo timeshift –create」を実行しておくと、万が一の際も数分で元の状態に戻せますね。



コメント