「Yabsnap」の版間の差分
(英語版から転載) |
(同期) |
||
(同じ利用者による、間の3版が非表示) | |||
6行目: | 6行目: | ||
{{Related articles end}} |
{{Related articles end}} |
||
− | [https://github.com/hirak99/yabsnap Yabsnap] |
+ | [https://github.com/hirak99/yabsnap Yabsnap] は、Arch 用に作成された [[Btrfs]] パーティション用のスケジュールされたスナップショットマネージャーです。 |
− | == |
+ | == インストール == |
− | + | {{AUR|yabsnap}} パッケージを [[インストール]] します、開発バージョンは {{AUR|yabsnap-git}} からインストールできます。 |
|
− | == |
+ | == 設定 == |
+ | 次のコマンドを実行してスケルトン設定を作成します: |
||
− | Run the following to create a skeleton config: |
||
# yabsnap create-config 'configname' |
# yabsnap create-config 'configname' |
||
− | + | これにより、{{ic|/etc/yabsnap/configs/confignane.conf}} が作成されます。ファイルを編集して次のように指定します。 |
|
− | * {{ic|source}} - |
+ | * {{ic|source}} - サブボリュームがマウントされている場所。例:{{ic|/home}} |
− | * {{ic|dest_prefix}} - |
+ | * {{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. |
||
− | == |
+ | == 主なコマンド == |
+ | === スナップショットの表示 === |
||
− | === 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 == |
||
− | === |
+ | === 自動クリーンアップ === |
− | Yabsnap |
+ | 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| |
+ | {{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. |
||
− | === |
+ | === ロールバック操作 === |
+ | ロールバックのコマンドは、生成されたスクリプトを実行するまでは安全です。 |
||
− | 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. |
||
− | == |
+ | == 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): |
||
− | * |
+ | * バックアップのカスタム宛先 [https://github.com/openSUSE/snapper/issues/54 (関連問題)] |
+ | * すべての設定のロールバック (デフォルトのサブボリュームだけでなく) |
||
− | * rollback for all configs (not just the default subvolume), |
||
+ | * [[pacman フック]] サポートが統合されました。 |
||
− | * has integrated [[pacman hook]] support. |
||
− | == |
+ | == 参照 == |
* [https://github.com/hirak99/yabsnap Yabsnap github page] |
* [https://github.com/hirak99/yabsnap Yabsnap github page] |
2024年1月22日 (月) 07:04時点における最新版
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
これが機能する理由は、ロールバックメカニズムが fstab ファイルを編集せず、単に正しいスナップショットがそれぞれの場所にマウントされていることを確認するだけだからです。
ロールバック操作
ロールバックのコマンドは、生成されたスクリプトを実行するまでは安全です。
これにより、ロールバックスクリプトが生成されます:
タイムスタンプを既存のスナップショットの 1 つに変更します:
$ yabsnap rollback-gen 20230525081049 | tee ~/rollback.sh
スクリプトを実行すると、実際にロールバックが発生します。ロールバックする前に、生成された行を確認することをお勧めします。
ロールバック用に生成されたスクリプトを確認したら、それを 実行可能 にして実行できます:
# ~/rollback.sh
これにより、指定されたタイムスタンプで作成されたすべてのスナップショットのロールバックが実行されます。
Snapper との比較
Snapper のいくつかの欠点を克服するために作成されました。具体的には、(執筆時点では) Snapper では実行が困難または不可能である次のことを実行します:
- バックアップのカスタム宛先 (関連問題)
- すべての設定のロールバック (デフォルトのサブボリュームだけでなく)
- pacman フック サポートが統合されました。