すべてのSnapperスナップショットを消去します


16

(他のディストリビューションの中でも)OpenSUSEはsnapperを使用してbtrfsパーティションのスナップショットを作成します。一部の人々はデフォルトのスナップショット間隔があまりにも速くスペースを占有しすぎると考えていますが、信じているかどうかにかかわらず、ファイルシステムのスペースをクリアしたい場合があり、btrfsスナップショットがかなりのスペースを取っていることがよくあります。または、他の場合は、VMに移動したりVMから移動したり、これらの行に沿ってストレージメディアまたは何かを変更したりする前に、すべての余分なデータをファイルシステムからクリアすることができます。

しかし、Snapperまたは他のツールを使用して、Snapperが取得したすべてのスナップショットをすばやく消去するコマンドを見つけることはできません。どうすればいいですか?

回答:


24

snapperの最近のバージョンのコマンドは次のとおりです(いつ導入されたかは覚えていませんが、たとえばopenSUSE 13.2のバージョンはこれをサポートしています)。

snapper delete number1-number2

そのため、すべてのスナップショットを削除するには(スナップショットが100000を超えないと仮定)、次のようにします。

snapper delete 1-100000

明らかに、これはデフォルトのルート設定のスナップショットのみを削除するため、別の設定では次のようになります。

snapper -c configname delete number1-number2

エラーが発生しました:スナップショット「100000」が見つかりません。
パベルシメルダ

ty、ty、ty。注目すべきは、範囲演算子が機能しなかったため、20個すべてのスナップショットを手動で削除する必要があったことです。
ポールヴィクシー

4

forループを使用して、範囲内のすべてのスナップショットを削除できます(rootとして実行)。

# for i in `seq 1 999`; do snapper delete $i; done

これにより、いくつかの無効なエントリがヒットし(番号がスナップショットIDに対応しない場合)、無害なエラーログが作成されます。

ループが不必要に長く実行されないように、スナップショットIDの範囲(下限と上限)を決定するには、次を使用します。

snapper list

スナッパーの間隔と保持設定を減らす方法についての議論とともに、このソリューションを見つけました。


-1

Debian jessieのような古いバージョンのsnapperで作業している場合、bash-expansionを使用できます。

snapper delete {1..999}
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.