Ich erinnere mich, 2003 in einer Firma mit einem NetApp-Server gearbeitet zu haben. Wir hatten in unseren Home-Verzeichnissen ein Snapshot-Verzeichnis, in dem verschiedene Snapshots auftauchten. Ich glaube, es gab Snapshots für die letzte Minute, Stunde, den letzten Tag, die letzte Woche usw. Als ich mein erstes Btrfs-Dateisystem einrichtete, war ich überrascht, dass ich kein Skript finden konnte, um die Bereitstellung einer ähnlichen Schnittstelle mit Btrfs zu automatisieren.
Wie das Layout genau aussah, weiß ich nicht mehr, aber ich könnte mir so etwas vorstellen:
$HOME/some_file
$HOME/.snapshot/minute/2016-04-16_07_33/some_file
2016-04-16_07_34/...
2016-04-16_07_35
hour/2016-04-16_05_00
2016-04-16_06_00
2016-04-16_07_00
day/2016-04-14
2016-04-15
2016-04-16
week/2016-03-27
2016-04-03
2016-04-10
Ich suche nach einem Skript, das ich ausführen kann und cron
das die erforderlichen Btrfs-Snapshots erstellt und sie an den oben genannten Orten mountet. Es sollte einmal pro Minute ausgeführt werden. Für jede Zeiteinheit (Minute/Stunde/Tag/Woche) sollte es eine konfigurierbare Anzahl N von Snapshots für die letzten N Einheiten speichern. Im obigen Beispiel wäre N 3. Ältere Snapshots sollten automatisch gelöscht werden, sofern sie nicht verwendet werden. „In Verwendung“ könnte beispielsweise bedeuten, dass ich cd
auf einen von ihnen zugegriffen oder ihn an einem anderen Ort gebunden gemountet habe.
Natürlich wäre es auch schön, gleichzeitige Snapshots unter /
für das Root-System oder unter zu haben /home/some_other_user/
und nicht nur unter meinem eigenen $HOME
.