Hoe bestanden te synchroniseren tussen locaties met git-annex

Afbeelding: iStock / chombosan

Je kent Git. Je kent GitHub en vele andere git-gerelateerde tools. Maar ken je git-annex?

Met git-annex kun je repositories maken op een lokale machine (een daarvan kan bijvoorbeeld een lokaal gemonteerde Dropbox-share zijn) en de bestanden vervolgens synchroon bewaren. Het is niet de gemakkelijkste methode om dit te doen, maar het biedt een behoorlijk groot potentieel. Nog beter, in tegenstelling tot standaard git, kun je met git-annex grote bestanden synchroniseren.

Ik wil je door de stappen leiden van het installeren en gebruiken van git-annex om twee locaties te synchroniseren. Er zijn een aantal manieren om dit te doen: met een GUI-tool en vanaf de opdrachtregel. Ik ga hier de opdrachtregelversie demonstreren (ik zal in de toekomst de GUI-methode demonstreren). Ik zal het demonstreren op Ubuntu Server 18.04 en zal een lokaal gemonteerde Dropbox-map synchroniseren met een lokale map op de server.

Meer over Open Source

  • 8 van de slechtste open source-innovaties van het decennium
  • Open source in 2020: de toekomst ziet er rooskleurig uit
  • Linus Torvalds: "Git bewees dat ik meer kon zijn dan een one-hit wonder."
  • 20 snelle tips om Linux-netwerken eenvoudiger te maken (gratis PDF)

Dat gezegd hebbende, laten we aan het werk gaan.

Installatie

Je kunt git-annex met een enkele opdracht installeren. Je wilt echter eerst controleren of git op de machine is geïnstalleerd. Dus om beide te installeren, opent u een terminal en geeft u de volgende opdracht:

 sudo apt install git git-annex 

De git-annex installatie haalt zo'n 325 afhankelijkheden naar beneden (afhankelijk van wat je al op je machine hebt geïnstalleerd), dus het kan wat tijd kosten (bepaald door de snelheid van je netwerk). Zodra de installatie is voltooid, bent u klaar om te beginnen.

ZIE: 20 snelle tips om Linux-netwerken eenvoudiger te maken (gratis TechRepublic PDF)

Een repository maken

Zoals ik al zei, gaan we een lokale map synchroniseren met een lokaal gemonteerde Dropbox-map. Ik neem aan dat de Dropbox-map in ~ / Dropbox staat . Eerst gaan we een lokale map maken. Open een terminalvenster en geef de opdracht:

 mkdir ~ / myrepo 

Ga naar die nieuwe map met het commando cd ~ / myrepo . Vervolgens moeten we de repository initialiseren met de opdracht:

 git init 

Nu initialiseren we de repository met git-annex, alleen met de toevoeging van een naam. Ik ga deze UbuntuServer een naam geven, dus het initialisatiecommando zou zijn:

 git annex init "UbuntuServer" 

Vervolgens verplaatsen we enkele bestanden naar ~ / myrepo . Voor testdoeleinden kunt u een leeg bestand maken met de opdracht aanraaktest1 . Nadat je het testbestand hebt gemaakt, voeg je het toe met git annex met behulp van de opdracht:

 git bijlage test toevoegen1 

Omdat we git gebruiken, moet je het nieuwe bestand vastleggen (anders weet git er niets van). Geef hiervoor de opdracht:

 git commit -m "Een testbestand toegevoegd" 

De tweede locatie toevoegen

We hebben onze map ~ / Dropbox al, dus verander daarnaar met het commando cd ~ / Dropbox . Omdat deze map ook moet worden geïnitialiseerd, willen we waarschijnlijk niet de volledige inhoud van de map ~ / Dropbox initialiseren, dus laten we een submap maken met de naam annex met de opdracht:

 mkdir bijlage 

Ga naar die nieuwe map met de opdracht cd-bijlage . Initialiseer de map met de opdracht:

 git init 

Initialiseer de map met git-annex (en noem deze Dropbox) met de opdracht:

 git bijlage init "Dropbox" 

Maak ze bewust

Voor onze volgende truc moeten we de twee locaties van elkaar bewust maken. Ga hiervoor naar de map ~ / myrepo en maak het vervolgens bekend met Dropbox met de opdracht:

 git remote Dropbox ~ / Dropbox / annex toevoegen 

Ga vervolgens naar de map ~ / Dropbox / annex en maak het op de hoogte van de map ~ / myrepo met de opdracht:

 git remote add UbuntuServer ~ / myrepo 

Synchroniseer ze

Met elke locatie op de hoogte van de andere, laten we ze synchroniseren. Ga naar de map ~ / myrepo en geef de opdracht:

 git bijlage sync 

Ga nu naar de map ~ / Dropbox / annex en geef dezelfde opdracht:

 git bijlage sync 

Op dit moment hebben we alleen maar symlinks gemaakt tussen de twee locaties. Om de inhoud daadwerkelijk te synchroniseren, zou de opdracht dan zijn (uitgevoerd op elke locatie):

 git annex sync - inhoud 

En daar gaat het: beide locaties zijn nu gesynchroniseerd. Gefeliciteerd, je hebt git-annex gebruikt om een ​​lokale map te synchroniseren met een lokaal gemonteerde cloudlocatie.

Blijf leren

Geef voor meer informatie de opdracht man git-annex . De handleidingpagina biedt u veel informatie om te blijven leren over deze ongelooflijk krachtige tool.

Cloud en Everything as a Service-nieuwsbrief

Dit is uw favoriete bron voor het laatste nieuws over AWS, Microsoft Azure, Google Cloud Platform, XaaS, cloudbeveiliging en nog veel meer. Maandagen bezorgd

Schrijf je vandaag in

© Copyright 2020 | mobilegn.com