コンテンツにスキップ

「Yabsnap」の版間の差分

提供: ArchWiki
削除された内容 追加された内容
Kgx (トーク | 投稿記録)
英語版から転載
 
Kgx (トーク | 投稿記録)
翻訳
6行目: 6行目:
{{Related articles end}}
{{Related articles end}}


[https://github.com/hirak99/yabsnap Yabsnap] is a scheduled snapshot manager for [[Btrfs]] partitions written for Arch.
[https://github.com/hirak99/yabsnap Yabsnap] は、Arch 用に作成された [[Btrfs]] パーティション用のスケジュールされたスナップショットマネージャーです。


== Installation ==
== インストール ==


[[Install]] the {{AUR|yabsnap}} package, the development version can be installed from {{AUR|yabsnap-git}}.
{{AUR|yabsnap}} パッケージを [[インストール]] します、開発バージョンは {{AUR|yabsnap-git}} からインストールできます。


== Configuration ==
== 設定 ==


次のコマンドを実行してスケルトン設定を作成します。
Run the following to create a skeleton config:


# yabsnap create-config 'configname'
# yabsnap create-config 'configname'


This will create {{ic|/etc/yabsnap/configs/confignane.conf}}. Edit the file to specify the following:
これにより、{{ic|/etc/yabsnap/configs/confignane.conf}} が作成されます。ファイルを編集して次のように指定します。


* {{ic|source}} - The location where a subvolume is mounted. E.g. {{ic|/home}}.
* {{ic|source}} - サブボリュームがマウントされている場所。例:{{ic|/home}}
* {{ic|dest_prefix}} - The full path and prefix for the snapshot names to be created. E.g. {{ic|/.snapshot/@home-}} will create files snapshot backups such as {{ic|/.snapshot/@home-20230525120000}}.
* {{ic|dest_prefix}} - 作成されるスナップショット名のフルパスとプレフィックス。たとえば、{{ic|/.snapshot/@home-}} は、{{ic|/.snapshot/@home-20230525120000}} のようなファイルスナップショットバックアップを作成します。


他のパラメータを編集して、バックアップがいつトリガーされクリーンアップされるかを指定することもできます。
You can also edit other parameters to specify when backups will be triggered and cleaned up.


== Main commands ==
== 主なコマンド ==


=== スナップショットの表示 ===
=== Viewing snapshots ===


既存のスナップショットを確認するには、次を使用します。
To review existing snapshots, use:


$ yabsnap list
$ yabsnap list


=== スナップショットの作成 ===
=== Creating snapshots ===


すべての設定のスナップショットを作成するには、次を使用します。
To create snapshots for all configs, use:


# yabsnap create --comment 'COMMENT'
# yabsnap create --comment 'COMMENT'


特定のマウントされたサブボリュームに制限することもできます。Yabsnap は、適切な設定を自動的に見つけて使用します。
You can also restrict to a specific mounted subvolume. Yabsnap will automatically find the right config for it and use it:


# yabsnap --source '/home' create --comment 'COMMENT'
# yabsnap --source '/home' create --comment 'COMMENT'


== スナップショットのクリーンアップまたは削除 ==
== Cleaning up or deleting snapshots ==


=== Automatic cleanups ===
=== 自動クリーンアップ ===


Yabsnap will automatically delete snapshots based on the configurations in {{ic|/etc/yabsnap/configs/*.conf}}.
Yabsnap は、{{ic|/etc/yabsnap/configs/*.conf}} の設定に基づいてスナップショットを自動的に削除します。


=== スナップショットの削除 ===
=== Deleting snapshots ===


次のコマンドを使用して、スナップショットを手動で削除することもできます。
You can also manually remove snapshots, with the following commands:


フルパスを指定すると、特定のスナップショットが削除されます。
Specifying full path deletes a specific snapshot:


# yabsnap delete /.snapshots/@home-20230525120000
# yabsnap delete /.snapshots/@home-20230525120000


タイムスタンプを指定すると、一緒に作成された一致するスナップショットがすべて削除されます。
Specifying a timestamp deletes all matching snapshots that were taken together:


# yabsnap delete 20230525120000
# yabsnap delete 20230525120000


== ロールバックの作成 ==
== Creating a rollback ==


=== ロールバックの必要性: Subvolでマウントし、Subvolidでマウントしない ===
=== Rollback requirement: Mount by subvol and not subvolid ===


すべてのボリュームを subvolid ではなく subvol でマウントすることをお勧めします。
It is recommended that you mount all the volumes with subvol instead of subvolid.


たとえば、これは [[fstab]] エントリになります。
For example, this can be your [[fstab]] entry:


UUID=[YOUR_UUID] / btrfs rw,noatime,ssd,space_cache=v2,compress=zstd,subvol=/@ 0 0
UUID=[YOUR_UUID] / btrfs rw,noatime,ssd,space_cache=v2,compress=zstd,subvol=/@ 0 0


{{Note|The notation used is {{ic|1=subvol=/@}}. '''Do not''' use {{ic|1=subvolid=}}.}}
{{Note|使用される表記は {{ic|1=subvol=/@}} です。{{ic|1=subvolid=}} は '''使用しないでください'''}}


これが機能する理由は、ロールバックメカニズムが fstab ファイルを編集せず、単に正しいスナップショットがそれぞれの場所にマウントされていることを確認するだけだからです。
The reason this works is because rollback mechanism will not edit your fstab file, it will simply ensure that the correct snapshots are mounted in the respective locations.


=== Rollback operation ===
=== ロールバック操作 ===


ロールバックのコマンドは、生成されたスクリプトを実行するまでは安全です。
The command for rollback is safe, until you execute the script it generates.


これにより、ロールバックスクリプトが生成されます。
This generates a rollback script:


タイムスタンプを既存のスナップショットの 1 つに変更します。
Change the timestamp to one of your existing snapshots:


$ yabsnap rollback-gen 20230525081049 | tee ~/rollback.sh
$ yabsnap rollback-gen 20230525081049 | tee ~/rollback.sh


スクリプトを実行すると、実際にロールバックが発生します。ロールバックする前に、生成された行を確認することをお勧めします。
Executing the script will actually cause the rollback to happen. It is recommended that you review the generated lines before rolling back.


ロールバック用に生成されたスクリプトを確認したら、それを [[ヘルプ:読み方#実行可能属性の付与|実行可能]] にして実行できます。
Once you have reviewed the generated script for your rollback, you can then make it [[executable]] then run it:


# ~/rollback.sh
# ~/rollback.sh


これにより、指定されたタイムスタンプで作成されたすべてのスナップショットのロールバックが実行されます。
This will perform a rollback of all snapshots that were taken at the specified timestamp.


== Comparison with Snapper ==
== Snapper との比較 ==


[[Snapper]] のいくつかの欠点を克服するために作成されました。具体的には、(執筆時点では) Snapper では実行が困難または不可能である次のことを実行します。
It was created to overcome some of the shortcomings of [[Snapper]], specifically it does the following which are difficult or impossible to do in Snapper (as of writing):


* custom destinations for backup [https://github.com/openSUSE/snapper/issues/54 (related issue)],
* バックアップのカスタム宛先 [https://github.com/openSUSE/snapper/issues/54 (関連問題)]
* すべての設定のロールバック (デフォルトのサブボリュームだけでなく)
* rollback for all configs (not just the default subvolume),
* [[pacman フック]] サポートが統合されました。
* has integrated [[pacman hook]] support.


== See also ==
== 参照 ==


* [https://github.com/hirak99/yabsnap Yabsnap github page]
* [https://github.com/hirak99/yabsnap Yabsnap github page]

2023年6月5日 (月) 20:22時点における版

関連記事

Yabsnap は、Arch 用に作成された Btrfs パーティション用のスケジュールされたスナップショットマネージャーです。

インストール

yabsnapAUR パッケージを インストール します、開発バージョンは yabsnap-gitAUR からインストールできます。

設定

次のコマンドを実行してスケルトン設定を作成します。

# yabsnap create-config 'configname'

これにより、/etc/yabsnap/configs/confignane.conf が作成されます。ファイルを編集して次のように指定します。

  • source - サブボリュームがマウントされている場所。例:/home
  • dest_prefix - 作成されるスナップショット名のフルパスとプレフィックス。たとえば、/.snapshot/@home- は、/.snapshot/@home-20230525120000 のようなファイルスナップショットバックアップを作成します。

他のパラメータを編集して、バックアップがいつトリガーされクリーンアップされるかを指定することもできます。

主なコマンド

スナップショットの表示

既存のスナップショットを確認するには、次を使用します。

$ yabsnap list

スナップショットの作成

すべての設定のスナップショットを作成するには、次を使用します。

# yabsnap create --comment 'COMMENT'

特定のマウントされたサブボリュームに制限することもできます。Yabsnap は、適切な設定を自動的に見つけて使用します。

# yabsnap --source '/home' create --comment 'COMMENT'

スナップショットのクリーンアップまたは削除

自動クリーンアップ

Yabsnap は、/etc/yabsnap/configs/*.conf の設定に基づいてスナップショットを自動的に削除します。

スナップショットの削除

次のコマンドを使用して、スナップショットを手動で削除することもできます。

フルパスを指定すると、特定のスナップショットが削除されます。

# yabsnap delete /.snapshots/@home-20230525120000

タイムスタンプを指定すると、一緒に作成された一致するスナップショットがすべて削除されます。

# yabsnap delete 20230525120000

ロールバックの作成

ロールバックの必要性: Subvolでマウントし、Subvolidでマウントしない

すべてのボリュームを subvolid ではなく subvol でマウントすることをお勧めします。

たとえば、これは fstab エントリになります。

UUID=[YOUR_UUID] / btrfs rw,noatime,ssd,space_cache=v2,compress=zstd,subvol=/@ 0 0
ノート 使用される表記は subvol=/@ です。subvolid=使用しないでください

これが機能する理由は、ロールバックメカニズムが fstab ファイルを編集せず、単に正しいスナップショットがそれぞれの場所にマウントされていることを確認するだけだからです。

ロールバック操作

ロールバックのコマンドは、生成されたスクリプトを実行するまでは安全です。

これにより、ロールバックスクリプトが生成されます。

タイムスタンプを既存のスナップショットの 1 つに変更します。

$ yabsnap rollback-gen 20230525081049 | tee ~/rollback.sh

スクリプトを実行すると、実際にロールバックが発生します。ロールバックする前に、生成された行を確認することをお勧めします。

ロールバック用に生成されたスクリプトを確認したら、それを 実行可能 にして実行できます。

# ~/rollback.sh

これにより、指定されたタイムスタンプで作成されたすべてのスナップショットのロールバックが実行されます。

Snapper との比較

Snapper のいくつかの欠点を克服するために作成されました。具体的には、(執筆時点では) Snapper では実行が困難または不可能である次のことを実行します。

  • バックアップのカスタム宛先 (関連問題)
  • すべての設定のロールバック (デフォルトのサブボリュームだけでなく)
  • pacman フック サポートが統合されました。

参照