GNU/Linux >> Znalost Linux >  >> Linux

Jak synchronizovat soubory s Unison na Linuxu

Tento tutoriál vás provede instalací nástroje pro synchronizaci souborů Unison na Linux a jak synchronizovat soubory s Unison mezi dvěma různými adresáři a/nebo disky na stejném systému a dvěma různými počítači se systémem Linux přes místní síť.

Úvod do Unison

Unison je bezplatný, open source, multiplatformní a obousměrný nástroj pro synchronizaci souborů. Používá se k uložení dvou replik souborů a adresářů na dvou různých systémech nebo na různých discích na stejném systému.

Repliky souborů a adresářů jsou upravovány samostatně a poté aktualizovány šířením změn v každé replice do druhé.

Zjednodušeně řečeno, jakékoli změny v jednom umístění budou replikovány do jiného umístění a naopak.

Jelikož se jedná o multiplatformní aplikaci, můžete synchronizovat soubory a adresáře mezi počítači s různými operačními systémy.

Můžete například synchronizovat soubory uložené v počítači se systémem Linux s počítači se systémem Windows nebo Unix a naopak. Nejen obsah souboru, dokonce i vlastnictví souboru a oprávnění budou také synchronizována.

Pokud se obsah na obou replikách liší, způsobí to konflikt. Unison takové konflikty zjistí a zobrazí. V takovém případě musíte dát Unison pokyn, která replika by měla přepsat druhou. Aktualizace, které nejsou v konfliktu, budou šířeny automaticky.

Unison funguje dobře s jakýmkoliv párem počítačů připojených k místní síti nebo internetu. Soubory jsou synchronizovány se vzdáleným systémem prostřednictvím šifrovaného ssh spojení.

Další pozoruhodnou vlastností Unisonu je, že funguje dobře přes pomalá připojení, jako jsou připojení PPP. Podobné jako rsync , Unison přenese pouze části souboru, které byly změněny.

Díky vestavěné implementaci algoritmu rsync společnosti Unison je přenos aktualizací do stávajících souborů velmi rychlý.

Unison je program na uživatelské úrovni, takže není potřeba upravovat jádro ani mít na žádném hostiteli oprávnění superuživatele.

Program Unison vytvořil Benjamin C. Pierce a je vydán pod licencí GPL. Funguje pod platformami GNU/Linux, Windows a Unix.

Nainstalujte Unison na Linux

Unison je k dispozici ve výchozích repozitářích v oficiálních repozitářích mnoha operačních systémů Linux.

Chcete-li nainstalovat Unison na Alpine Linux, spusťte:

$ sudo apk add unison

Nainstalujte Unison na Arch Linux a jeho varianty, jako je EndeavourOS a Manjaro Linux:

$ sudo pacman -S unison

Debian, Ubuntu, Linux Mint:

$ sudo apt install unison

Fedora:

$ sudo dnf install unison

CentOS 7:

Nejprve povolte [EPEL] úložiště:

$ sudo yum install epel-release

A pak nainstalujte unison:

$ sudo yum install unison

openSUSE:

$ sudo zypper install unison

K dispozici je také jednoduché grafické rozhraní s názvem unison-gtk je k dispozici pro ty, kteří preferují GUI před CLI. Je k dispozici ve výchozích úložištích v několika distribucích Linuxu.

Na Alpine Linux můžete nainstalovat Unison-gtk pomocí příkazu:

$ sudo apk add unison-gui

Na Arch Linuxu a jeho variantách nainstalujte Unison-gtk pomocí příkazu:

$ sudo pacman -S unison-gtk2

Pokud používáte systém založený na Debianu, nainstalujte jej pomocí následujícího příkazu:

$ sudo apt install unison-gtk

Vezměte prosím na vědomí, že pokud chcete synchronizovat soubory mezi dvěma různými systémy, musíte nainstalovat Unison na všechny systémy, které chcete synchronizovat. Rovněž se doporučuje stejná verze na obou systémech.

Synchronizace souborů s Unison v systému Linux

Unison můžeme použít v následujících třech různých režimech:

  1. Synchronizujte soubory uložené v různých adresářích na stejném počítači,
  2. Synchronizujte soubory a adresáře uložené na různých discích ve stejném počítači,
  3. Synchronizujte soubory a adresáře mezi místními a vzdálenými počítači:
    • Synchronizujte soubory se vzdáleným počítačem přes přímé soketové připojení,
    • Synchronizujte soubory se vzdáleným počítačem pomocí SSH.

1. Synchronizujte soubory uložené v různých adresářích na stejném počítači

Pro účely této příručky vytvořím dva kořenové adresáře (tj. repliky), konkrétně directory1 a directory2 .

$ mkdir ~/directory1
$ mkdir ~/directory2

Vložte nějaký obsah do některého z výše uvedených adresářů. Některé soubory a adresáře jsem uložil do directory1 .

Pojďme se podívat na obsah directory1 :

$ ls -ltRF directory1/

Ukázkový výstup:

directory1/:
total 7780
drwxrwxr-x 2 sk sk    4096 Oct  2 15:35 dir1/
-rw-rw-r-- 1 sk sk 7779007 Sep 25 16:51 file2
-rw-rw-r-- 1 sk sk  179765 Aug 17 12:51 file1

directory1/dir1:
total 140
-rw-rw-r-- 1 sk sk 141729 Aug  6 22:34 file3

Jak můžete vidět, mám složku s názvem dir1 a dva další soubory, jmenovitě file1 a file2 v kořenovém adresáři directory1 . Uvnitř dir1 , existuje další soubor s názvem file3 .

A directory2 replika nemá žádný obsah.

$ ls -ltRF directory2/
directory2/:
total 0

Pojďme synchronizovat tyto dva adresáře pomocí unisono s příkazem:

$ unison directory1/ directory2/

Budete dotázáni, zda chcete pokračovat v synchronizaci obsahu directory1 s directory2 . Jednoduše stiskněte ENTER klíč. Dále vás Unison požádá o potvrzení souborů a adresářů k synchronizaci. Stiskněte ENTER nebo stiskněte f potvrďte soubory a složky, které chcete synchronizovat. Nakonec stiskněte y a stiskněte ENTER klíč pro pokračování v šíření aktualizací.

Contacting server...
Looking for changes
Warning: No archive files were found for these roots, whose canonical names are:
	/home/sk/directory1
	/home/sk/directory2
This can happen either
because this is the first time you have synchronized these roots, 
or because you have upgraded Unison to a new version with a different
archive format.  

Update detection may take a while on this run if the replicas are 
large.

Unison will assume that the 'last synchronized state' of both replicas
was completely empty.  This means that any files that are different
will be reported as conflicts, and any files that exist only on one
replica will be judged as new and propagated to the other replica.
If the two replicas are identical, then no changes will be reported.

If you see this message repeatedly, it may be because one of your machines
is getting its address from DHCP, which is causing its host name to change
between synchronizations.  See the documentation for the UNISONLOCALHOSTNAME
environment variable for advice on how to correct this.

Donations to the Unison project are gratefully accepted: 
http://www.cis.upenn.edu/~bcpierce/unison

Reconciling changestinue.[<spc>] / file1

directory1     directory2         
dir      ---->            dir1  [f] f
file     ---->            file1  [f] f
file     ---->            file2  [f] f

Proceed with propagating updates? [] y
Propagating updates


UNISON 2.48.4 started propagating changes at 15:43:29.75 on 02 Oct 2020
[BGN] Copying dir1 from /home/sk/directory1 to /home/sk/directory2
[END] Copying dir1
[BGN] Copying file1 from /home/sk/directory1 to /home/sk/directory2
[END] Copying file1
[BGN] Copying file2 from /home/sk/directory1 to /home/sk/directory2
[END] Copying file2
UNISON 2.48.4 finished propagating changes at 15:43:29.81 on 02 Oct 2020


Saving synchronizer state
Synchronization complete at 15:43:29  (3 items transferred, 0 skipped, 0 failed)

Nyní veškerý obsah directory1 bude replikován do directory2 . Můžete to ověřit pomocí ls příkaz:

Vidět? Obsah obou replik je shodný. Jak jsem již zmínil, jsou také synchronizována oprávnění k souborům a čísla inodů souborů a složek na obou umístěních. Ve výše uvedeném výstupu můžete vidět, že oprávnění a inody jsou totožné.

Všimli jste si značek šipek ve výstupu při synchronizaci adresářů? Například jste si měli všimnout následujících řádků uprostřed výstupu:

directory1     directory2         
dir      ---->            dir1  [f] f
file     ---->            file1  [f] f
file     ---->            file2  [f] f

Značky šipek označují směr že změnu je potřeba propagovat. V našem případě šipky ukazují zleva doprava. Význam - dir1 , file1 a file2 se šíří do druhé repliky, tj. directory2 .

Nyní vytvořte nový soubor v directory2 repliku a uvidíte, co se stane.

$ touch directory2/file4

Synchronizujte dvě repliky pomocí příkazu:

$ unison directory1/ directory2/

Nyní uvidíte, že šipka ukazuje zprava doleva. Znamená to, že změny ve druhé replice se přenesou do první repliky. Jinými slovy, obsah directory2 jsou replikovány do directory1 .

Contacting server...
Looking for changes
Reconciling changes

directory1     directory2         
         <---- new file   file4  [f] f

Proceed with propagating updates? [] y
Propagating updates


UNISON 2.48.4 started propagating changes at 16:04:08.78 on 02 Oct 2020
[BGN] Copying file4 from /home/sk/directory2 to /home/sk/directory1
[END] Copying file4
UNISON 2.48.4 finished propagating changes at 16:04:08.78 on 02 Oct 2020


Saving synchronizer state
Synchronization complete at 16:04:08  (1 item transferred, 0 skipped, 0 failed)

Unison automaticky rozpozná, které soubory je třeba aktualizovat v obou replikách. Když spustíte Unison poprvé, zaznamená si časové razítko úprav, oprávnění, vlastnictví a číslo inode všech souborů a složek v obou umístěních. Na základě těchto informací se Unison rozhodne, které soubory je třeba aktualizovat, když znovu spustíte stejný příkaz. Jak bylo uvedeno dříve, všechny informace budou uchovávány pod ~/.unison adresář.

Chcete-li si to ověřit sami, upravte obsah existujícího souboru. Chystám se upravit obsah file4 v directory1 replika.

$ echo "Welcome to OSTechNix" > directory1/file4

Nyní spusťte synchronizaci znovu:

$ unison directory1/ directory2/

Tentokrát bude Unison synchronizovat upravené soubory.

Contacting server...
Looking for changes
Reconciling changes

directory1     directory2         
changed  ---->            file4  [f] f

Proceed with propagating updates? [] y
Propagating updates


UNISON 2.48.4 started propagating changes at 16:05:27.13 on 02 Oct 2020
[BGN] Updating file file4 from /home/sk/directory1 to /home/sk/directory2
[END] Updating file file4
UNISON 2.48.4 finished propagating changes at 16:05:27.14 on 02 Oct 2020


Saving synchronizer state
Synchronization complete at 16:05:27  (1 item transferred, 0 skipped, 0 failed)

Jak můžete vidět ve výše uvedeném výstupu, Unison zjistil, že file4 byl změněn v první replice a synchronizován s druhou replikou.

Pokud jsou obě repliky upraveny a jejich obsah je odlišný, jsou změny v konfliktu. V takových případech se Unison zeptá uživatele, jak rozšířit aktualizace na obě strany. Konflikty se zobrazí pomocí šipek doleva a doprava, jak je uvedeno níže.

directory1     directory2         
new file <-?-> new file   file6  [] 

Pokud je nějaká výchozí akce označena šipkou, jednoduše stiskněte ENTER pro přechod na další změněný soubor. Pokud chcete s tímto souborem udělat něco jiného, ​​můžete stisknout buď "<" nebo ">" vynutíte, aby se změna šířila zprava doleva nebo zleva doprava.

directory1     directory2         
new file <==== new file   file6  [] <

Pokud nechcete provádět žádné změny, stiskněte "/" přeskočit tento soubor a nechat obě repliky na pokoji.

1.1. Unison profily

Unison používá profily pro synchronizaci souborů a složek mezi dvěma adresáři na stejném nebo dvou různých počítačích. Profil není nic jiného než textový soubor, kde definujeme skutečnou cestu ke kořenovým adresářům a předvolby cest, které by měly být synchronizovány. Všechny profily budou uloženy v .unison adresář ve vašem $HOME adresář.

Když spustíte Unison poprvé, výchozí profil s názvem default.prf je vytvořen pod ~/.unison adresář. Výchozí profil nemá definované žádné předvolby. Takže vše uložené v jedné replice bude synchronizováno s jinou replikou.

Můžeme také vytvořit vlastní profily se seznamem předvoleb cest. To vám pomůže vyhnout se synchronizaci celých dvou replik.

Pomocí vlastních profilů můžeme dát Unison pokyn:

  • pro synchronizaci konkrétních souborů a složek,
  • pro ignorování určitého souboru nebo určitého typu souborů při synchronizaci.

Podívejme se na příklad.

Vytvořte dvě repliky a uložte některé soubory a složky do jedné repliky a druhou nechte prázdnou.

$ mkdir ~/directory1
$ mkdir ~/directory2

Poté vytvořte nový profil s názvem dir_profile.prf :

$ nano .unison/dir_profile.prf

Definujte kořenové adresáře a cesty k souborům a adresářům, které chcete synchronizovat:

# Roots of the synchronization
root = /home/sk/directory1
root = /home/sk/directory2 

# Paths to synchronize 
path = dir1
path = file2

Dva kořeny mohou být uvedeny v libovolném pořadí. Unison je seřadí do kanonického pořadí, než udělá cokoliv jiného. Pokud neurčíte žádné cesty, Unison jednoduše synchronizuje dvě celé repliky, počínaje daným párem kořenů. Pokud je zadána jedna nebo více předvoleb cest, pak Unison bude synchronizovat pouze tyto cesty a jejich potomky.

Ve výše uvedeném příkladu jsem definoval dir1 a file2 by měl být synchronizován do jiného kořenového adresáře. Uložte a zavřete soubor.

Po vytvoření profilu spusťte proces synchronizace příkazem:

$ unison dir_profile.prf

Budete dotázáni, zda chcete pokračovat v synchronizaci obsahu directory1 s directory2 . Jednoduše stiskněte ENTER a poté stiskněte f potvrďte cesty k synchronizaci. Nakonec stiskněte y a stiskněte ENTER klíč pro pokračování v šíření aktualizací.

Contacting server...
Looking for changes
Warning: No archive files were found for these roots, whose canonical names are:
	/home/sk/directory1
	/home/sk/directory2
This can happen either
because this is the first time you have synchronized these roots, 
or because you have upgraded Unison to a new version with a different
archive format.  

Update detection may take a while on this run if the replicas are 
large.

Unison will assume that the 'last synchronized state' of both replicas
was completely empty.  This means that any files that are different
will be reported as conflicts, and any files that exist only on one
replica will be judged as new and propagated to the other replica.
If the two replicas are identical, then no changes will be reported.

If you see this message repeatedly, it may be because one of your machines
is getting its address from DHCP, which is causing its host name to change
between synchronizations.  See the documentation for the UNISONLOCALHOSTNAME
environment variable for advice on how to correct this.

Donations to the Unison project are gratefully accepted: 
http://www.cis.upenn.edu/~bcpierce/unison

Reconciling changestinue.[<spc>] | dir1

directory1     directory2         
dir      ---->            dir1  [f] 
file     ---->            file2  [f] 

Proceed with propagating updates? [] y
Propagating updates


UNISON 2.48.4 started propagating changes at 15:42:32.99 on 01 Oct 2020
[BGN] Copying dir1 from /home/sk/directory1 to /home/sk/directory2
[END] Copying dir1
[BGN] Copying file2 from /home/sk/directory1 to /home/sk/directory2
[END] Copying file2
UNISON 2.48.4 finished propagating changes at 15:42:33.04 on 01 Oct 2020


Saving synchronizer state
Synchronization complete at 15:42:33  (2 items transferred, 0 skipped, 0 failed)

Nyní přejděte do druhé repliky directory2 a zjistěte, zda je obsah synchronizován.

1.1. Ignorovat soubory ze synchronizace

Někdy možná nebudete chtít synchronizovat konkrétní soubor nebo konkrétní typ souborů. Pokud ano, můžete definovat, které soubory chcete v profilu ignorovat, jak je uvedeno níže.

ignore=Name text.*
ignore=Name .*~
ignore=Name *.pdf

Další ukázkové profily naleznete zde.

1.2. Synchronizujte místní soubory a adresáře pomocí unison-gtk

Některým z vás možná nevyhovuje příkazový řádek. Naštěstí má Unison jednoduché grafické rozhraní, které uživatelům umožňuje snadno vytvářet profily a synchronizovat soubory založené na profilech prostřednictvím grafického okna.

Ujistěte se, že jste nainstalovali unison-gtk balíček, jak je znázorněno v části instalace výše. Spusťte unison-gtk z nabídky nebo spouštěče aplikací.

Při prvním spuštění uvidíte okno pro výběr profilu. Pokud již máte vytvořený profil, jak je popsáno, uvidíte jej tam.

V okně profilů můžete vytvořit nový profil s novými kořenovými adresáři a cestami k synchronizaci. Nebo můžete jednoduše upravit stávající profil a upravit kořenové adresáře nebo přidat nové soubory nebo změnit cesty k synchronizaci.

Pokud již profil nepotřebujete, stačí jej vybrat a kliknout na Smazat.

Chystám se vytvořit nový profil. Chcete-li tak učinit, klikněte na Přidat v okně výběru profilu a klikněte na Vpřed .

Zadejte vhodný název pro svůj nový profil s malým popisem:

Dále vyberte druh synchronizace, který chcete provést. Jelikož se jedná o synchronizaci mezi dvěma lokálními adresáři, zvolil jsem "local" .

Vyberte dva kořenové adresáře, které chcete synchronizovat.

Pokud je jeden z vašich kořenových adresářů na oddílu FAT, zaškrtněte následující políčko. To je obvykle případ USB flash disku.

Nakonec kliknutím na tlačítko Použít vytvořte profil.

Nově vytvořený profil se nyní objeví v okně výběru profilu. Vyberte jej a klikněte na Otevřít.

Grafika Unison vám nyní ukáže změny, které je třeba provést na obou stranách. Stejně jako rozhraní příkazového řádku Unison je výchozí akce označena také šipkou v grafickém rozhraní. Jak vidíte na níže uvedeném snímku obrazovky, soubory se šíří zleva doprava, tj. od první repliky k druhé replice. Pokud obsah replik není identický, Unison vás požádá o pokyny, která replika by měla přepsat druhou.

Pokud jste spokojeni s pokyny pro šíření změn, klikněte na Přejít na panelu nástrojů nebo vyberte Synchronizace -> Přejít z panelu nabídek.

Jakmile je synchronizace úspěšně dokončena, uvidíte značky zaškrtnutí v sekci Stav.

2. Synchronizujte soubory a adresáře uložené na různých discích na stejném počítači

Synchronizační soubory mezi dvěma disky jsou přesně stejné jako výše. Jen se ujistěte, že jste uvedli správnou cestu ke kořenovému adresáři na externím disku.

Nyní víte, jak synchronizovat soubory mezi dvěma adresáři na stejném pevném disku a na jiném disku v místním systému. Následující část vysvětluje, jak synchronizovat soubory mezi dvěma různými systémy.

3. Synchronizujte soubory a adresáře mezi místními a vzdálenými počítači

Jak již bylo uvedeno dříve, Unison může synchronizovat soubory mezi místními a vzdálenými systémy prostřednictvím přímého připojení soketu a prostřednictvím šifrovaného připojení SSH. Jak již víte, SSH je mnohem lepší a bezpečnější než metoda socket. Pro účely této příručky budu k synchronizaci souborů používat metodu SSH.

Ujistěte se, že jste na oba systémy nainstalovali openSSH a Unison . Také se ujistěte, že oba systémy mohou komunikovat přes SSH. Vezměte prosím na vědomí, že vaše místní a vzdálené systémy by měly mít stejnou verzi Unison .

Chcete-li zkontrolovat verzi Unison, spusťte na místním a vzdáleném systému následující příkaz:

$ unison -version
unison version 2.48.4

Protože soubory budou synchronizovány přes SSH, nezáleží na tom, zda vzdálený systém má unison-gtk nebo ne. Unison rozhraní příkazového řádku stačí na vzdáleném počítači! Na svém lokálním počítači můžete použít textové nebo grafické unison rozhraní.

3.1. Synchronizujte soubory a adresáře mezi místními a vzdálenými počítači z příkazového řádku

Nyní pojďme synchronizovat directory1 z našeho místního systému do directory1 ve vzdáleném systému pomocí unisona spuštěním následujícího příkazu:

$ unison directory1/ ssh://[email protected]/directory1/

Zde [email protected] je uživatelské jméno a ip adresa mého vzdáleného systému.

Budete vyzváni k zadání hesla vzdáleného uživatele. Poté stiskněte ENTER pro souhlas se synchronizací obsahu directory1 místního počítače s directory 1 vzdáleného stroje. Poté stiskněte f potvrďte cesty k synchronizaci. Nakonec stiskněte y a stiskněte ENTER klíč pro pokračování v šíření aktualizací.

Contacting server...
[email protected]'s password: 
Connected [//ostechnix//home/sk/directory1 -> //ubuntuserver//home/ostechnix/directory1]
Looking for changes
Warning: No archive files were found for these roots, whose canonical names are:
	/home/sk/directory1
	//ubuntuserver//home/ostechnix/directory1
This can happen either
because this is the first time you have synchronized these roots, 
or because you have upgraded Unison to a new version with a different
archive format.  

Update detection may take a while on this run if the replicas are 
large.

Unison will assume that the 'last synchronized state' of both replicas
was completely empty.  This means that any files that are different
will be reported as conflicts, and any files that exist only on one
replica will be judged as new and propagated to the other replica.
If the two replicas are identical, then no changes will be reported.

If you see this message repeatedly, it may be because one of your machines
is getting its address from DHCP, which is causing its host name to change
between synchronizations.  See the documentation for the UNISONLOCALHOSTNAME
environment variable for advice on how to correct this.

Donations to the Unison project are gratefully accepted: 
http://www.cis.upenn.edu/~bcpierce/unison

Press return to continue.[<spc>]   Waiting for changes from server
Reconciling changes

local          ubuntuserver       
file     ---->            file1  [f] f
file     ---->            file2  [f] f

Proceed with propagating updates? [] y
Propagating updates


UNISON 2.48.4 started propagating changes at 14:49:18.44 on 03 Oct 2020
[BGN] Copying file1 from /home/sk/directory1 to //ubuntuserver//home/ostechnix/directory1
[BGN] Copying file2 from /home/sk/directory1 to //ubuntuserver//home/ostechnix/directory1
[END] Copying file1
[END] Copying file2
UNISON 2.48.4 finished propagating changes at 14:49:18.45 on 03 Oct 2020


Saving synchronizer state
Synchronization complete at 14:49:18  (2 items transferred, 0 skipped, 0 failed)

Výše uvedený příkaz replikuje obsah directory1 z místního systému do directory1 na vzdáleném systému. Nyní přidejte nový soubor nebo aktualizujte existující soubor a zkuste synchronizaci znovu. Měli byste vidět podobné výsledky na obou stranách.

Pokud chcete synchronizovat obsah někam jinam než do domovského adresáře na vzdáleném systému, musíte zadat absolutní cestu ke vzdálenému adresáři přidáním extra lomítka mezi název vzdáleného hostitele a začátek cesty jako níže:

$ unison directory1/ ssh://[email protected]//sync/the/files/here/

Pokud nechcete synchronizovat celý adresář, jednoduše vytvořte vlastní profil a definujte cesty k synchronizaci, jak je popsáno v části 1.1. Unison profily výše.

3.2. Synchronizujte soubory a adresáře mezi místními a vzdálenými počítači pomocí unison-gtk

Spusťte aplikaci Unison-gtk z nabídky nebo spouštěče. Klikněte na Přidat v okně výběru profilu vytvořte nový profil.

Klepněte na tlačítko Vpřed.

Zadejte název profilu Unison a jeho popis a klikněte na tlačítko Vpřed.

Zde je důležitý krok. Zvolte "ssh" z rozevíracího pole Druh synchronizace. Zadejte IP adresu vzdáleného systému nebo název hostitele a vzdálené uživatelské jméno. Chcete-li zlepšit výkon přenosu dat, zaškrtněte také políčko „Povolit kompresi“.

Vyberte umístění místního a vzdáleného adresáře, které chcete synchronizovat.

Pokud je jeden z vašich adresářů na oddílu FAT, musíte tuto možnost zaškrtnout. To je obvykle případ jednotek USB.

Kliknutím na tlačítko Použít dokončete vytvoření profilu.

Nově vytvořený profil se nyní objeví v okně výběru profilu. Vyberte profil a klikněte na Otevřít.

Budete požádáni o zadání hesla vzdáleného uživatele. Zadejte heslo a klikněte na OK.

Po zadání hesla vypíše Unison seznam změn, které se mají šířit z místního na vzdálený. Výchozí akce je označena šipkou. Pokud nechcete výchozí akci, stiskněte "zleva doprava" nebo „zprava doleva“ možnosti v pruhu nabídek, které určují, která replika by měla přepsat druhou. Nakonec klikněte na Přejít replikovat.

Unison nyní replikuje celý obsah místního adresáře se vzdáleným adresářem. Po dokončení synchronizace se v části Stav zobrazí značka zaškrtnutí.

Můžete ověřit obsah souborů a adresářů v obou umístěních.

Výše uvedená metoda bude synchronizovat celý obsah místní repliky se vzdálenou replikou. Pokud chcete synchronizovat konkrétní soubory nebo adresáře, vytvořte si vlastní profil a definujte cesty k synchronizaci, jak je popsáno v části 1.1. Unison profily výše.

3.3. Nastavte ověřování pomocí klíče SSH (volitelné)

Kdykoli synchronizujete soubory mezi dvěma různými systémy přes SSH, musíte zadat heslo vzdáleného uživatele. Pokud nechcete pokaždé zadávat heslo, můžete nastavit ověřování SSH bez hesla, jak je popsáno v níže uvedeném odkazu. Negenerujte pár klíčů SSH s přístupovou frází. V opačném případě musíte při synchronizaci souborů mezi systémy stále zadat heslo.

  • Jak nakonfigurovat ověřování pomocí klíče SSH v systému Linux

3.4. Nastavení úlohy cron (volitelné)

Soubory můžeme synchronizovat automaticky v určitém časovém intervalu pomocí úloh cron.

Přidejte například následující položku do crontab soubor ke spuštění synchronizace každý den (Poběží v 00:00):

0 0 * * * unison directory1/ ssh://[email protected]//home/ostechnix/directory1/

Další podrobnosti o nastavení úloh cron naleznete v následující příručce:

  • Příručka Cron Jobs pro začátečníky

Získání nápovědy

Popsal jsem jen základy. To stačí k nastavení funkční synchronizace na vašem systému Linux. Pokud se chcete naučit pokročilejší použití, podívejte se do sekce nápovědy Unison.

Chcete-li zobrazit stránku místní dokumentace, spusťte:

$ unison -doc topics

Seznam dostupných témat uvidíte v místní dokumentaci.

Documentation topics:
          about About Unison
         people People
          lists Mailing Lists and Bug Reporting
         status Development Status
        copying Copying
            ack Acknowledgements
        install Installation
       tutorial Tutorial
         basics Basic Concepts
       failures Invariants
        running Running Unison
            ssh Installing Ssh
           news Changes in Version 2.48.4

Type "unison -doc <topic>" for detailed information about <topic>
or "unison -doc all" for the whole manual

Chcete-li zobrazit podrobné informace o tématu, například unison tutorial , spustit:

$ unison -doc tutorial

Můžete také zobrazit celý manuál Unison pomocí následujícího příkazu:

$ unison -doc all

Na konci této příručky jsem také připojil oficiální odkazy na Unison. Projděte si dokumentaci a seznamte se s tím, jak Unison funguje. Jakmile se dostatečně naučíte, zkuste nastavit místní a/nebo vzdálenou synchronizaci s Unison v produkci.

Závěr

Unison vám umožňuje snadno a efektivně udržovat dva nebo více systémů zcela vzájemně synchronizovaných bez ohledu na to, co se na kterémkoli ze systémů změní. Pokud chcete udržovat dvě instance kolekce souborů a adresářů na dvou systémech aktuální a identické, Unison je dobrá volba!


Linux
  1. Jak nainstalovat Python na Linux

  2. Jak nainstalovat Javu na Linux

  3. Jak najít soubory pomocí příkazu fd v Linuxu

  1. Jak šifrovat soubory pomocí gocryptfs na Linuxu

  2. Jak rozbalit soubory v Linuxu (s příklady)

  3. Jak nainstalovat soubory .deb na Ubuntu Linux

  1. Nainstalujte Linux pomocí LVM

  2. Jak nainstalovat Fail2ban s Firewalld na Rocky Linux 8

  3. Jak mohu přesouvat soubory pomocí xargs v Linuxu?