Git-annex Repository auf externer Festplatte

Aus Thomas-Krenn-Wiki
Zur Navigation springen Zur Suche springen

Git-annex bietet verschiedene Gruppen von Repositories an. Eine wesentliche Gruppe ist die der Backup-Repositories. Die Gruppen bestimmen über Regeln, welche Dateiinhalte im Repository bleiben und welche in andere Repositories kommen. Beim Aufrufen von git-annex Kommandos im automatischen Modus (--auto) oder wenn der Hintergrund-Dienst git-annex assistant läuft, kommen die Regeln zum tragen. Im Falle eines Repos der Gruppe backup bleiben alle Dateiinhalte beim automatischen Drop im Repo.[1]

Der folgende Artikel erklärt, wie auf einer externen Festplatte ein Git-annex Repo der Gruppe backup erstellt wird.

Git-annex Repo erstellen

Im ersten Schritt wird ein git-annex Repo erstellt:

:~/annex$ git init
Initialized empty Git repository in /home/alice/annex/.git/
:~/annex$ git annex init Alice
init Alice ok
(Recording state in git...)
:~/annex$ cp ~/Downloads/Detecting_Intruders_Intro.pdf .
:~/annex$ git annex add .
:~/annex$ git commit -a -m "Added pdf"
[master (root-commit) 3b6dc55] Added pdf
 1 file changed, 1 insertion(+)
 create mode 120000 Detecting_Intruders_Intro.pdf

Externe Festplatte konfigurieren

Auf der Festplatte wird das Repo vom Home-Verzeichnis geklont:

:/media/drive/annex$ git clone ~/annex .
Cloning into '.'...
done.

Backup einrichten

Die externe Festplatte wird als Remote hinzufügt und die Synchronisation gestartet:

:~/annex$ git remote add usb /media/drive/annex
:~/annex$ git annex sync usb

Das USB-Laufwerk wird in die git-annex Gruppe backup gegeben. Dadurch greifen die internen Regeln von git-annex zur Bewahrung der Dateien bei drop und copy Befehlen.

:~/annex$ git annex group usb backup
group usb ok
(Recording state in git...)
:~/annex$ git annex content usb standard
content usb ok
(Recording state in git...)
:~/annex$ git annex describe usb "backup drive"

Per git annex copy werden die Dateien auf die externe Festplatte kopiert:

:~/annex$ git annex sync
:~/annex$ git annex copy --auto --to usb
copy Detecting_Intruders_Intro.pdf (to usb...) 
SHA256E-s66060--6330d3dae2e5105a4c4ec3c16d6781ff7168505ab4a203fa381264c9b19368ad.pdf
       66060 100%   31.75MB/s    0:00:00 (xfer#1, to-check=0/1)

sent 66216 bytes  received 31 bytes  132494.00 bytes/sec
total size is 66060  speedup is 1.00
ok
(Recording state in git...)

Im Repo auf der externen Festplatte merged ein git annex sync die neuen Inhalte:

:/media/drive/annex$ git annex sync

Einzelnachweise

  1. git-annex preferred content (git-annex.branchable.com)


Foto Georg Schönberger.jpg

Autor: Georg Schönberger

Georg Schönberger, Abteilung DevOps bei der XORTEX eBusiness GmbH, absolvierte an der FH OÖ am Campus Hagenberg sein Studium zum Bachelor Computer- und Mediensicherheit, Studium Master Sichere Informationssysteme. Seit 2015 ist Georg bei XORTEX beschäftigt und arbeitet sehr lösungsorientiert und hat keine Angst vor schwierigen Aufgaben. Zu seinen Hobbys zählt neben Linux auch Tennis, Klettern und Reisen.


Das könnte Sie auch interessieren

Git Tags
Git Workflows
Git-annex