Kaj je Unison?
Tehnologija Unison, ki jo je razvil Benjamin C Pierce pod licenco GPL, omogoča uporabnikom sinhronizacijo dveh primerkov posameznih datotek v istem sistemu, vendar na različnih diskih ali dveh drugih sistemih.
Unison vam omogoča, da obdržite posodobljeno in enako različico iste datoteke ali imenika. Uporaben je v najrazličnejših kontekstih, kot je SSH, kar omogoča varen prenos podatkov med napravami ali imeniki.
Orodje Unison je medplatformno in uporabnikom omogoča sinhronizacijo datotek in imenikov med sistemi z istim ali različnimi operacijskimi sistemi. Datoteke lahko na primer sinhronizirate iz sistema Linux s sistemom BSD. Zaradi svojih varnostnih funkcij Unison sinhronizira datoteke in imenike ter v obeh sistemih uveljavlja pravice lastništva in dovoljenj.
Orodje Unison je razvito z mislijo na varnost in lahko preživi napake, kadar pride do prekinitev med točkami sinhronizacije. Če Unison zazna konflikte datotek in imenikov, sporoči obstoječe konflikte in uporabnikom omogoči, da izberejo, katero različico datotek naj uporabi.
Unison lahko deluje s počasnimi omrežji ali jih podpira, zaradi česar je zelo učinkovito orodje za uporabo pasovne širine. Sinhronizira le dele in imenike, ki so se spremenili, s čimer preprečuje veliko obremenitev in zelo enostavno in hitro posodablja postopek sinhronizacije.
Kljub primarnemu kontekstu uporabe je Unison močno orodje, ki ga je mogoče spremeniti tako, da ustvari širok spekter primerov uporabe.
Ta vadnica bo razpravljala o namestitvi in nastavitvi sistema za sinhronizacijo datotek Unison v Debianu 10.
Kako namestiti Unison na Debian 10
Unison je priljubljeno orodje; zaradi tega je na voljo v uradnih skladiščih glavnih distribucij Linuxa.
Če želite v Debian namestiti različico ukazne vrstice Unison, začnite posodabljati sistem:
posodobitev sudo apt-get && nadgradnja sudo apt-getNato uporabite preprost apt za ukaz za namestitev orodja.
sudo apt-get install unison -yČe je v vašem sistemu nameščeno namizno okolje in imate raje GUI različico orodja, namestite unison-gtk z ukazom:
sudo apt-get namestite unison-gtkOPOMBA: Prepričajte se, da ste namestili Unison v obe različici sistemov, za katere želite sinhronizirati datoteke med njimi. Za združljivost in zmanjšanje možnosti napak je bolje, da je v obeh sistemih enaka različica Unison.
Kako sinhronizirati datoteke z Unison
Unison nam ponuja načine za sinhronizacijo datotek in imenikov med lokalnimi in oddaljenimi stroji z neposrednimi vtičnicami in SSH. Ker sinhroniziramo dva strežnika Debian, bomo preskočili lokalno strojno sinhronizacijo.
Unison Remote in Remote Sync prek SSH
Za sinhronizacijo datotek in imenikov med oddaljenimi računalniki boste morali imeti Unison nameščen v obeh sistemih, imeti SSH dostop do obeh sistemov in njihovih naslovov IP.
Lokalni računalnik lahko uporabite tudi kot en strežnik, oddaljeno napravo pa kot drugi strežnik.
- 192.168.0.200 - strežnik1
- 192.168.0.201 - strežnik2
Prvi korak je ustvariti zasebni in javni ključ na oddaljenem strežniku1.
ssh-keygen -t rsaUstvarjanje javnega / zasebnega para ključev rsa.
Vnesite datoteko, v katero želite shraniti ključ (/ home / csalem /.ssh / id_rsa):
Ustvarjen imenik '/ home / csalem /.ssh '.
Vnesite geslo (prazno, če ni gesla):
Ponovno vnesite isto geslo:
Vaša identifikacija je bila shranjena v / home / csalem /.ssh / id_rsa.
Vaš javni ključ je bil shranjen v / home / csalem /.ssh / id_rsa.pub.
Ključni prstni odtis je:
SHA256: 4p5YuEBEa5lrINzqPgwHRVhSS0TNlIIl70A0q2MFcS8 csalem @ Debian-PC
Naključna umetniška slika ključa je:
+---[RSA 2048]----+
| + / @ =… |
| = * O == |
| ++ OE . |
| + * o… |
| o + = . S |
|++. o . |
| oo ... o |
|.o . = . |
|… O o |
+----[SHA256]-----+
Hitro preskočite postopek ustvarjanja ključev in shranite datoteko. Ne dodajte gesla, ker lahko ovira nenadzorovano sinhronizacijo med strežniki.
Nato kopirajte ključ s strežnika1 na strežnik2 z ukazom:
ssh-copy-id 192.168.0.201Zdaj, ko ste v obeh sistemih nastavili SSH, lahko zaženete Unison za sinhronizacijo datotek in imenikov.
Preizkusimo uporabo Unisona na obeh strežnikih z ustvarjanjem imenika, ki ga bomo sinhronizirali na server1:
mkdir -p / dir1Na strežniku2 ustvarite imenik, kot je opisano zgoraj
mkdir -p / dir2Kot smo že omenili, Unison spoštuje uporabniška dovoljenja. Zato je najbolje, da spremenite dovoljenja in lastništvo v obeh imenikih, da zagotovite, da imata oba imenika pravice branja in pisanja.
Nato dodajte vse podatke, ki jih želite sinhronizirati med strežniki v dir1. Na primer, dodajte nekaj datotek zip.
sudo mv ~ / Dokumenti.zip / dir1Ob datotekah želimo sinhronizirati v pravem imeniku, zaženite unison ukaz za sinhronizacijo s strežnika kot:
unison / dir1 ssh: // 192.168.0.201 // dir2Ob prvem zagonu Unisona boste prejeli opozorilo, da lahko postopek sinhronizacije traja nekaj časa. Če imate v imenikih velike datoteke, lahko to traja nekaj časa, a ker jih uporabljamo samo za preskušanje, bi moralo biti razmeroma hitro.
Pritisnite Enter, da začnete postopek sinhronizacije. Ko je postopek sinhronizacije končan, pojdite na server2, pojdite na dir2 in vsebino imenika navedite kot:
cd / dir2 && ls -la-rw-r - r-- 1 korenski koren 436 5. januar 12:57 Dokumenti.zadrgo
Spreminjanje konfiguracije Unison
V večini primerov ne želimo interaktivno sinhronizirati datotek med temi strežniki, saj je postopek ponavljajoč se in neučinkovit. Konfiguracijsko datoteko Unison lahko uredimo, da omogočimo samodejno sinhronizacijo datotek.
Uporabite spodnji ukaz za urejanje privzete konfiguracijske datoteke:
sudo vi ~ /.unison / default.prfV datoteko dodajte naslednje vrstice:
samodejno = resserija = res
Zgornje vrstice onemogočijo pozive pri sinhronizaciji datotek in avtomatizirajo postopek.
Nastavitev Unison Cronjob
Zagotovo je, da se programerji zelo nagibajo k ročnemu početju, zlasti kadar je mogoče avtomatizirati, kar je v tem primeru. Za Unison lahko nastavimo cronjob za samodejno sinhronizacijo.
V strežniku1 ustvarite preprost skript bash za zagon ukaza unison kot:
sudo touch / usr / bin / unisoncron && sudo vi / usr / bin / unisoncronV datoteki začnite s shebangom in dodajte ukaz unison sync:
#!/ bin / bash /unison / dir1 ssh: // 192.168.0.201 // dir2
Kot običajno, naj skript izvaja dovoljenja:
sudo chmod 755 / usr / bin / unisoncronZdaj uredite svojo datoteko cronjob s crontab:
sudo crontab -eČe prvič urejate crontab - upam, da ni - izberite svojega urejevalnika in vnesite naslednjo vrstico za sinhronizacijo z Unisonom vsako 1 uro:
* / 60 * * * * / usr / bin / unisoncron &> / dev / nullCrontab lahko nastavite tudi tako, da se izvaja ob določenih urah dneva. Prav tako vam ni treba uporabljati skripta in lahko uporabite ukaz raw v crontabu.
Zaključek
Ta vadnica vam je pokazala, kako namestiti in nastaviti Unison v sistem Debian za sinhronizacijo datotek in imenikov.
Čeprav vam lahko ta hitri vodnik pomaga pri začetku, lahko več izveste na straneh s priročniki Unison (strani z navodili) ali v uradni dokumentaciji z uporabo spodaj navedenih virov:
- https: // www.cis.upenn.edu / ~ bcpierce / unison /
- https: // www.cis.upenn.edu / ~ bcpierce / unison / download / releases / stable / unison-manual.html