Linuxバックアップアプリケーションは多数存在します。ただし、要件に最適なものを決定するのはそれほど簡単ではありません。このガイドでは、Timeshiftとは何か、その利点、およびTimeshiftを使用してLinuxシステムをバックアップおよび復元する方法について説明します。
タイムシフトとは何ですか?
Timeshiftは、Linux用のオープンソースのバックアップおよび復元アプリケーションです。 TimeshiftはRsyncを使用します およびハードリンク インクリメンタルアプローチでスナップショットを撮る。
Timeshiftは、Linuxのシステムレベルのバックアップに最適なソリューションです。 Windowsのシステムの復元機能やMacOSのタイムマシンツールと同様の機能を提供します。
Timeshiftを使用すると、システムを破壊するものをインストールしたり、更新/アップグレードが横行したりした場合に、すばやく安全に以前の動作状態にロールバックできます。
Timeshiftは、システムファイルと設定のみをバックアップするように設計されていることに注意してください。個人データとユーザーのファイルをバックアップする場合は、 Deja Dupを確認することをお勧めします。 、 Rsnapshot 、静的 およびRsync 。
デフォルトでは、ドキュメント、写真、音楽などのユーザーのファイルはバックアップから除外されます。そのため、ツアーシステムを以前の状態に復元しても、ユーザーデータは変更されません。
タイムシフト機能
Timeshiftのコア機能の一部を以下に示します。
- CLIおよびGUIモードをサポートします
- BTRFSファイルシステムをサポートします
- 複数のバックアップレベル(例:毎時、毎日、毎週、毎月、起動)
- cronベースのスケジュールされたバックアップ
- オンラインおよびオフラインの復元をサポートします
- クロスディストリビューションの復元をサポートします
- そしてたくさん。
Timeshiftは完全に無料で使用でき、そのソースコードはGitHubで無料で入手できます。
LinuxにTimeshiftをインストールする
Timeshiftがディストリビューションにすでにインストールされているかどうかを確認するには、アプリケーションランチャーとメニューからTimeshiftを検索します。通常、システムツールの下にあります。
次のコマンドを実行して、ターミナルから確認することもできます。
$ which timeshift /usr/bin/timeshift
Timeshftがインストールされていない場合は、以下のようにインストールできます。
ArchLinuxにTimeshiftをインストールする
TimeshiftはAURで利用できるため、 ParuなどのAURヘルパーツールを使用してインストールできます。 またはYay 以下のように:
$ paru -S timeshift
または、
$ yay -S timeshift
AURヘルパープログラムがない場合は、次のコマンドを実行してTimeshiftを手動でインストールできます。
$ git clone https://aur.archlinux.org/timeshift.git
$ cd timeshift/
$ makepkg -sri
FedoraにTimeshiftをインストールする
TImeshiftは、Fedoraのデフォルトのリポジトリに含まれています。 Fedoraにインストールするには、以下を実行します:
$ sudo dnf install timeshift
Ubuntuとその派生物にTimeshiftをインストールする
Ubuntuとその派生ディストリビューションでは、公式PPAを介してTimeshiftをインストールできます:
$ sudo add-apt-repository -y ppa:teejee2008/ppa
$ sudo apt-get update
$ sudo apt-get install timeshift
タイムシフトの初期設定
タイムシフトを初めて起動すると、セットアップウィザードの一連の初期手順が実行されます。
ステップ1-スナップショットタイプ
最初のステップとして、使用するスナップショットのタイプを選択する必要があります。
Timeshiftには、次の2つのスナップショットタイプがあります。
- Rsync
- BTRFS
Rsyncモードでは、スナップショットは増分方式で作成されます。意味-変更/変更されたファイルとディレクトリのみが後続のスナップショットでスナップショットされ、変更されていないファイルとディレクトリは前のスナップショットにハードリンクされます。
EXT
などの他の標準ファイルシステムの代わりにBTRFSを使用している場合 およびXFS
、ウィザードからbtrfsを選択します。

ステップ2-スナップショットの場所
2番目のステップでは、スナップショットを保存する場所を尋ねます。ベストプラクティスとして、常にデータをマシンの外部ドライブまたはセカンダリドライブにバックアップするようにしてください。
ディスク障害のためにすべてのパーティションが失われた場合でも、データを回復できます。ここではディスクパーティションが1つしかないため、スナップショットは同じディスクに保存されます。

ヘッズアップ: 外付けハードドライブを使用している場合は、Linuxでサポートされている形式である必要がありますが、Windows FAT32、NTFS形式ではありません。
ステップ3-自動スナップショット
このステップで自動バックアップスケジュールを設定できます。
毎月、毎週、毎日、毎時、およびシステムの起動後にバックアップをスケジュールするオプションがあります。スケジュールされたバックアップの他に、オンデマンドバックアップを作成することもできます。
バックアップコピーに保持を設定することもでき、余分なコピーは自動的にクリーンアップされます。

ステップ4-ユーザーホームディレクトリ
すでに述べたように、Timeshiftはシステムレベルのバックアップを取るように設計されており、ホームディレクトリのバックアップには適していません。上記の紹介セクションには、ユーザーデータをバックアップするための優れたアプリケーションがいくつか含まれています。
デフォルトでは、Timeshiftはユーザーのホームディレクトリを除外します。バックアップするホームディレクトリを含めることもできますが、これはお勧めできません。
下の画像を見てください。デフォルトでは、ホームディレクトリからすべてのファイルが除外されます。ホームディレクトリから隠しファイルのみまたはすべてのファイルをバックアップするオプションがあります。
自分に合ったオプションを選択して、[次へ]をクリックします。

ステップ5-完全なタイムシフト設定
最後のステップとして、いくつかの情報が表示され、[完了]を選択してウィザードを完了します。

タイムシフトメインウィンドウ
セットアップウィザードが完了すると、次の図に示すようにメインメニューが表示されます。

ご覧のとおり、メインウィンドウにはいくつかのオプションがあります。すべて自明です。各オプションの機能の簡単な説明は次のとおりです。
- 作成 -スナップショットを撮ります。
- 復元 -選択したスナップショットを復元します。
- 削除 -選択したスナップショットを削除します。
- 参照 -バックアップが保存されているファイルシステムを開きます。
- ウィザード -初期設定ウィザードを再度実行します。
除外するファイルとディレクトリのリスト
最初のバックアップを取る前に、知っておくべきもう1つの設定があります。バックアップリストから任意のファイルとディレクトリを除外できます。
[設定]->[フィルター]に移動します 。ここで、バックアップに含める、またはバックアップから除外するファイルとディレクトリを選択できます。

画像の下部を見ると、操作するオプションがいくつかあります。
- 追加 -パターンのあるファイルを除外します(例:
.mp3
、.csv
) - ファイルを追加 -リストを除外するファイルを追加します。
- フォルダを追加 -ディレクトリを追加してリストを除外します。
- 削除 -除外リストからファイル/ディレクトリを削除します。
- 概要 -バックアップ中に除外されるファイルとディレクトリのリスト。
タイムシフトを使用したLinuxシステムのバックアップと復元
タイムシフトの使用は絶対に簡単です。セットアップはほとんど必要なく、構成は不要です。初心者でも、Timeshiftを使用してLinuxマシンをバックアップおよび復元する方法を簡単に理解できます。
スナップショットの作成
ファイルシステムのサイズによっては、最初のスナップショットに時間がかかる場合があります。後続のスナップショットは増分バックアップとして取得され、時間がかかりません。
[作成]ボタンを押すと、スナップショットが開始されます。

バックアップが完了すると、メインウィンドウにバックアップのリストが表示されます。バックアップをクリックして、復元、削除、参照などのアクションを実行できます。

バックアップの表示
バックアップコピーをクリックし、[参照]をクリックすると、バックアップが保存されているディレクトリが開きます。

すべてのバックアップは/timeshift
に保存されます ディレクトリ。
$ ls -l /timeshift
出力例:
total 28 drwxr-xr-x 4 root root 4096 Jul 31 10:10 snapshots drwxr-xr-x 2 root root 4096 Jul 31 10:11 snapshots-boot drwxr-xr-x 2 root root 4096 Jul 31 10:11 snapshots-daily drwxr-xr-x 2 root root 4096 Jul 31 10:11 snapshots-hourly drwxr-xr-x 2 root root 4096 Jul 31 10:11 snapshots-monthly drwxr-xr-x 2 root root 4096 Jul 31 10:11 snapshots-ondemand drwxr-xr-x 2 root root 4096 Jul 31 10:11 snapshots-weekly
Timeshiftは、バックアップスケジュールに基づいて個別のディレクトリを作成します。
たとえば、メニューから[作成]を押してオンデマンドスナップショットを作成すると、そのコピーは"snapshots"
の下に保存されます。 ディレクトリ。
バックアップを2回実行しましたが、実行ごとに、データと時間のあるスナップショットの下に個別のディレクトリが作成されます。
$ ls -l /timeshift/snapshots total 8 drwxr-xr-x 3 root root 4096 Jul 31 10:11 2021-07-31_09-13-58 drwxr-xr-x 3 root root 4096 Jul 31 10:11 2021-07-31_10-10-53
バックアップディレクトリ内に移動すると、ファイルとディレクトリのリストの下に表示されます。
-rw-r--r-- 1 root root 1005 Jul 31 09:13 exclude.list -rw-r--r-- 1 root root 274 Jul 31 10:11 info.json drwxr-xr-x 20 root root 4096 Jul 31 09:13 localhost -rw-r--r-- 1 root root 19075116 Jul 31 09:21 rsync-log -rw-r--r-- 1 root root 13986359 Jul 31 09:21 rsync-log-changes
「localhost」ディレクトリ内で、FSバックアップ全体が利用可能になります。

スナップショットの復元
バックアップを復元しなければならない2つの状況に直面する可能性があります。
- システムが正しく起動できない場合。
- システムは正常に稼働しているが、最近行った変更をクリーンアップする必要がある場合。
デモのために、最初のバックアップを取った後、ApacheWebサーバーをインストールしました。ここで、apacheがインストールされていない以前の状態に戻したいと思います。
メインウィンドウから「復元」ボタンをクリックします。ファイルが復元されるターゲットパーティションを選択するためのウィンドウが開きます。

次のステップでは、Timeshiftはドライランを実行して、スナップショットコピーと現在のシステムファイルおよびディレクトリを比較します。

ドライランが完了すると、復元するファイルとディレクトリのリストと、削除するファイルとディレクトリのリスト(つまり、復元しようとしている現在のバックアップコピーにないファイルとディレクトリ)が表示されます。 。
行う変更のリストを確認し、[次へ]をクリックして確認します。

ここで、ApacheWebサーバーがクリーンアップされます。
次のウィンドウで、TImeshiftは警告メッセージを表示します。 [次へ]をクリックしてスナップショットを復元します:

タイムシフトは数分でスナップショットを復元します。
念のため、スナップショットを復元した後にシステムが起動しない場合は、ライブcd/dvdを使用して最後に動作したスナップショットを簡単に復元できます。
起動可能なメディアを使用してライブ環境で起動し、タイムシフトをインストールします。次に、同じ手順に従って、上記の説明と同じ方法で使用可能なスナップショットを選択し、システムを復元します。
スナップショットの削除
スナップショットの削除は簡単です。スナップショットを選択し、メニューから「削除」を押します。バックアップコピーと関連ファイルが削除されます。

スケジュールバックアップを有効にしている場合、Timeshiftは、残りのスナップショットを保持および削除するように構成されているスナップショットを残します。
結論
この記事では、Timeshiftとは何か、Timeshiftを使用してLinuxシステムをバックアップおよび復元する方法を説明しました。 Timeshiftは、システムレベルのバックアップに最適なソリューションです。タイムシフトとともに、 Rsyncを使用できます 個人のファイルとディレクトリをバックアップします。