marcin(a)studio4plus.com

Historia plików przy wykorzystaniu snapshotów ZFS

Prosta historia plików wymaga dwóch funkcjonalności:
  1. tworzenia snapshotów,
  2. dostępu do archiwalnych wersji plików.

Automatyczne tworzenie snapshotów

Funkcjonalność auto-zapisu wymaga, aby snapshoty były tworzone dość często (raz na 1-10 minut wydaje się być w odpowienie na potrzeby katalogu /home) więc potrzebne jest zautomatyzowane narzędzie do tworzenia nowych i usuwania starych.

Można stworzyć własne rozwiązanie, użyć narzędzi Ralfa S. Engelschalla lub zainstalować mój skrypt zfs-snapshot-mgmt.

Po instalacji należy utworzyć plik konfiguracyjny. Na początek wystarczy skopiować plik /usr/local/etc/zfs-snapshot-mgmt.conf.sample do /usr/local/etc/zfs-snapshot-mgmt.conf oraz odpowiednio go wyedytować.
Szczegółowe informacje znajdują się w dokumentacji:

man zfs-snapshot-mgmt

Ostatnim krokiem jest dodanie uruchamiania skryptu zfs-snapshot-mgmt do konfiguracji programu cron, np. (w jednej linii, koniecznie dwa znaki >):

echo '*/1 * * * * root /usr/local/bin/zfs-snapshot-mgmt' >> /etc/crontab

Od tej chwili program będzie uruchamiany co minutę i będzie tworzył oraz usuwał snapshoty wg zadanej konfiguracji.

Dostęp do archiwalnych wersji plików

Aby uzyskać dostęp do starszych wersji pliku, które znajdują się w snapshotach, z poziomu Nautilusa, ściągnij skrypt gsnapper.rb i zapisz go w katalogu /home/<nazwa_użytkownika>/.gnome2/nautilus-scripts/.

Plik musi być wykonywalny:

chmod +x gsnapper.rb

Można zmienić jego nazwę, aby ładnie wyglądał w menu:

mv gsnapper.rb Historia

Skrypt będzie dostępny w menu pliku dostępnym pod prawym przyciskiem myszy, w "Skrypty".

20.03.2010