Hur du synkroniserar filer mellan platser med git-annex

Bild: iStock / chombosan

Du känner till Git. Du känner till GitHub och många andra git-relaterade verktyg. Men känner du till git-annex?

Med git-annex kan du skapa förvar på en lokal maskin (varav en kan vara en lokalt monterad Dropbox-delning) och sedan hålla filerna inrymda i synk. Det är inte den enklaste metoden att göra detta, men det är en som erbjuder en ganska stor potential. Ännu bättre, till skillnad från standard GIT, låter git-annex du synkronisera stora filer.

Jag vill leda dig genom stegen att installera och använda git-annex för att synkronisera två platser. Det finns ett par sätt att göra detta: med ett GUI-verktyg och från kommandoraden. Jag ska demonstrera kommandoradsversionen här (jag kommer att demonstrera GUI-metoden i framtiden hur man gör). Jag demonstrerar på Ubuntu Server 18.04 och synkroniserar en lokalt monterad Dropbox-mapp till en lokal mapp på servern.

Mer om Open Source

  • 8 av decenniets värsta open source-innovationer
  • Open source 2020: Framtiden ser ljus ut
  • Linus Torvalds: "Git bevisade att jag kunde vara mer än ett enda underverk."
  • 20 snabba tips för att göra Linux-nätverk enklare (gratis PDF)

Med det sagt, låt oss börja arbeta.

Installation

Du kan installera git-annex med ett enda kommando. Du vill dock först se till att du har installerat git på maskinen. Så för att installera båda, öppna en terminal och utfärda följande kommando:

 sudo apt installera git git-annex 

Git-annex-installationen drar några 325 beroenden (beroende på vad du redan har installerat på din maskin), så det kan ta lite tid (dikterat av nätverkets hastighet). När installationen är klar är du redo att gå.

SE: 20 snabba tips för att göra Linux-nätverk enklare (gratis TechRepublic PDF)

Skapa ett arkiv

Som jag nämnde kommer vi att synkronisera en lokal mapp med en lokalt monterad Dropbox-mapp. Jag antar att Dropbox-mappen finns i ~ / Dropbox . Först ska vi skapa en lokal katalog. Öppna ett terminalfönster och utfärda kommandot:

 mkdir ~ / myrepo 

Ändra till den nya mappen med kommandot cd ~ / myrepo . Nästa måste vi initialisera förvaret med kommandot:

 git init 

Nu initialiserar vi förvaret med git-annex, bara med ett namn. Jag kommer att namnge denna UbuntuServer, så initialiseringskommandot skulle vara:

 git annex init "UbuntuServer" 

Därefter flyttar vi några filer till ~ / myrepo . För teständamål kan du skapa en tom fil med kommandot touch test1 . När du har skapat testfilen lägger du till den med git-bilaga med kommandot:

 git annex add test1 

Eftersom vi använder git, måste du begå den nya filen (annars kommer Git inte att veta om det). För detta, utfärda kommandot:

 git commit -m "Lade till en testfil" 

Lägga till den andra platsen

Vi har redan vår ~ / Dropbox- mapp, så ändra till den med kommandot cd ~ / Dropbox . Eftersom den här mappen också måste initialiseras vill vi förmodligen inte initiera hela innehållet i mappen ~ / Dropbox, så låt oss skapa en undermapp som heter bilaga med kommandot:

 mkdir bilaga 

Ändra till den nya mappen med kommandot cd-bilaga . Initiera mappen med kommandot:

 git init 

Initiera mappen med git-annex (och namnge den Dropbox) med kommandot:

 git annex init "Dropbox" 

Gör dem medvetna

För vårt nästa trick måste vi göra de två platserna medvetna om varandra. För att göra detta ändrar du till mappen ~ / myrepo och gör den medveten om Dropbox med kommandot:

 git remote lägg till Dropbox ~ / Dropbox / annex 

Därefter byter du till mappen ~ / Dropbox / annex och gör den medveten om mappen ~ / myrepo med kommandot:

 git remote lägg till UbuntuServer ~ / myrepo 

Synkronisera dem

Med varje plats medveten om den andra, låt oss synkronisera dem. Byt till mappen ~ / myrepo och utfär kommandot:

 git annex sync 

Byt nu till mappen ~ / Dropbox / annex och utfärda samma kommando:

 git annex sync 

Just nu är allt vi gjort att skapa symlänkar mellan de två platserna. För att faktiskt synkronisera innehållet skulle kommandot vara (kör på varje plats):

 git annex sync - innehåll 

Och där går du: Båda platserna är nu synkroniserade. Grattis, du har använt git-annex för att synkronisera en lokal mapp till en lokalt monterad molnplats.

Fortsätt lära

För mer information, utfärda kommandomannen git-annex . Den manuella sidan erbjuder massor av information för dig att fortsätta lära dig om detta otroligt kraftfulla verktyg.

Cloud och allt som ett nyhetsbrev för tjänster

Det här är din resurs för det senaste om AWS, Microsoft Azure, Google Cloud Platform, XaaS, molnsäkerhet och mycket mer. Levereras måndagar

Registrera dig idag

© Copyright 2020 | mobilegn.com