Wersjonowanie plików w systemie Linux?

11

Przeprowadzamy migrację ze środowiska VMS do środowiska Linux dla niektórych starych serwerów alfa, które wycofujemy z eksploatacji. Jedynym wyzwaniem, którego nie byłem w stanie pokonać, jest przechowywanie wersji plików. VMS przechowuje wiele kopii tego samego pliku przy użyciu flagi wersji. Znalazłem wiele opcji na Source Forge, ale nie znalazłem nikogo, kto miałby doświadczenie z którąkolwiek z nich w dużym środowisku produkcyjnym. Rezon ten jest potrzebny, ponieważ kanały z innych systemów nie uwzględniają unikalnych nazw plików. Staramy się, aby nasz zakres był jak najlżejszy.

Każda pomoc jest mile widziana.

Dwie główne, które wydają się dostępne, to:

  • W drodze powrotnej
  • EtcKeeper - nie jestem pewien, czy możesz zastosować go tylko do jednego katalogu lub wielu.

Czy ktoś używał ich w środowisku korporacyjnym? Czy są inne opcje, które powinienem rozważyć?

DaffyDuc
źródło
nie jestem pewien, czy etckeeper może to zrobić, potrzebuje kogoś, kto to powie. Chyba że istnieje system plików bezpieczników. Bezpiecznik pozwala systemom plików przestrzeni użytkownika, a ponieważ istnieje wiele takich systemów, dostępne są niektóre systemy nakładek, takie jak kontrola wersji. więc warto przeszukać dostępne systemy plików bezpieczników.
ctrl-alt-delor

Odpowiedzi:

3

Sprawdziłbym rzeczywisty system plików z wersjonowaniem, jeśli masz absolutną pewność, że nadal chcesz tę funkcjonalność. Większość z nich znajduje się na Wikipedii, zatytułowanej: System plików z wersjami . To jest lista opcji z tego artykułu dla Linuksa.

fragment

Żaden główny system plików Linux nie obsługuje wersjonowania, ale wiele eksperymentalnych / badań i mniej znanych rozwiązań to:

slm
źródło
2

Możesz użyć copyfs do zapewnienia systematycznej wersji plików w hierarchii plików. Copyfs zachowuje wszystkie wersje wszystkich plików. Używa wybranego systemu plików do przechowywania zawartości pliku.

Etckeeper nie jest odpowiednim narzędziem. Jest to warstwa na wierzch systemu kontroli wersji zaprojektowanego w celu wykonania lepszej pracy w katalogu plików konfiguracji systemu ( /etc). W zależności od wymagań może być możliwe użycie systemu kontroli wersji, takiego jak subversion, git, mercurial itp. Mogą one być przydatne, jeśli można wstawić akcję zatwierdzania do przepływu pracy za każdym razem, gdy pojawi się nowa wersja pliku.

Innym podejściem może być zmiana nazwy lub przenoszenie plików w miarę ich wprowadzania. Linux zapewnia funkcję inotify reagowania na zdarzenia w systemie plików, takie jak tworzenie lub zamykanie pliku.

Gilles „SO- przestań być zły”
źródło
Witryna copyfs twierdzi, że jest nieobsługiwana.
ivo Welch
2

Rozglądając się kilka lat po zadaniu tego pytania, żaden z wymienionych wyżej systemów plików do wersji nie jest aktywnie rozwijany ani utrzymywany, o ile mogę stwierdzić (chętnie poprawiony, jeśli źle). Status quo wydaje się być kopią zapasową na serwerze / w chmurze i zachować wersję w aplikacji serwera. Wydaje mi się, że w przypadku moich problemów z kopiami zapasowymi ma to sens: łączy problemy związane z kopiami zapasowymi, wersjonowaniem i kosztami masowego przechowywania danych w jedno rozwiązanie. Po prostu nie ma już sensu posiadanie wielu wersji każdego dokumentu, który dotknąłeś miejsca w swoim własnym systemie plików.

W przypadku niewielkich obciążeń (małe pliki) Github z zaplanowanymi zatwierdzeniami lub działaniami automatycznego zatwierdzania.

W przypadku większych rzeczy github pomaga wskazać

Git nie jest odpowiednio zaprojektowany, aby służyć jako narzędzie do tworzenia kopii zapasowych. Istnieje jednak wiele rozwiązań zaprojektowanych specjalnie do wykonywania kopii zapasowych, które warto sprawdzić, w tym Arq, Carbonite, Mozy i CrashPlan.

Gdy piszę to, spośród polecanych CrashPlan i Mozy mają aplikacje na Linuksa. Oba obsługują wersjonowanie, ale sprawdź terminy przed zakupem.

Jason
źródło