GNU/Linux >> Belajar Linux >  >> Linux

Cara Menyinkronkan File Dengan Unison Di Linux

Tutorial ini akan memandu Anda melalui cara menginstal alat sinkronisasi file Unison di Linux dan cara menyinkronkan file dengan Unison antara dua direktori dan/atau disk yang berbeda pada sistem yang sama dan dua mesin Linux yang berbeda melalui jaringan area lokal.

Pengantar Unison

Serempak adalah gratis, open source, multi-platform, dan dua arah alat sinkronisasi file. Ini digunakan untuk menyimpan dua replika file dan direktori pada dua sistem yang berbeda atau disk yang berbeda pada sistem yang sama.

Replika file dan direktori dimodifikasi secara terpisah dan kemudian diperbarui dengan menyebarkan perubahan di setiap replika ke replika lainnya.

Sederhananya, setiap perubahan di satu lokasi akan direplikasi ke lokasi lain dan sebaliknya.

Karena ini adalah aplikasi multi-platform, Anda dapat menyinkronkan file dan direktori antara komputer yang berjalan dengan sistem operasi yang berbeda.

Misalnya, Anda dapat menyinkronkan file yang disimpan di mesin Linux dengan mesin Windows atau Unix dan sebaliknya. Tidak hanya konten file, kepemilikan dan hak akses file juga akan disinkronkan.

Jika konten berbeda pada kedua replika, itu menyebabkan konflik. Unison akan mendeteksi dan menampilkan konflik tersebut. Dalam hal ini, Anda perlu menginstruksikan Unison replika mana yang harus ditimpa yang lain. Pembaruan yang tidak bertentangan akan disebarkan secara otomatis.

Unison bekerja dengan baik dengan setiap pasangan komputer yang terhubung ke jaringan area lokal atau Internet. File disinkronkan ke sistem jarak jauh melalui ssh terenkripsi koneksi.

Fitur penting lainnya dari Unison adalah ia bekerja dengan baik pada tautan lambat seperti koneksi PPP. Mirip dengan rsync , Unison hanya akan mentransfer bagian dari file yang telah diubah.

Implementasi bawaan dari algoritma rsync secara serempak membuat transfer pembaruan ke file yang ada menjadi sangat cepat.

Unison adalah program tingkat pengguna, jadi tidak perlu memodifikasi kernel atau memiliki hak pengguna super di kedua host.

Program Unison dibuat oleh Benjamin C. Pierce dan dirilis di bawah lisensi GPL. Ia bekerja di bawah platform GNU/Linux, Windows dan Unix.

Instal Unison di Linux

Unison tersedia di repositori default di repositori resmi banyak sistem operasi Linux.

Untuk menginstal Unison di Alpine Linux, jalankan:

$ sudo apk add unison

Instal Unison di Arch Linux dan variannya seperti EndeavourOS dan Manjaro Linux:

$ sudo pacman -S unison

Debian, Ubuntu, Linux Mint:

$ sudo apt install unison

Fedora:

$ sudo dnf install unison

CentOS 7:

Pertama, aktifkan [EPEL] penyimpanan:

$ sudo yum install epel-release

Dan kemudian instal serempak:

$ sudo yum install unison

openSUSE:

$ sudo zypper install unison

Ada juga antarmuka grafis sederhana bernama unison-gtk tersedia bagi mereka yang lebih suka GUI daripada CLI. Ini tersedia di repositori default di beberapa distribusi Linux.

Di Alpine Linux, Anda dapat menginstal Unison-gtk menggunakan perintah:

$ sudo apk add unison-gui

Di Arch Linux dan variannya, instal Unison-gtk menggunakan perintah:

$ sudo pacman -S unison-gtk2

Jika Anda menggunakan sistem berbasis Debian, instal menggunakan perintah berikut:

$ sudo apt install unison-gtk

Harap dicatat bahwa jika Anda ingin menyinkronkan file antara dua sistem yang berbeda, Anda harus menginstal Unison di semua sistem yang ingin Anda sinkronkan. Juga, versi yang sama pada kedua sistem direkomendasikan.

Sinkronisasi File Dengan Unison Di Linux

Kita dapat menggunakan Unison dalam tiga mode berbeda berikut:

  1. Sinkronkan file yang disimpan di direktori berbeda pada mesin yang sama,
  2. Sinkronkan file dan direktori yang disimpan di disk berbeda pada mesin yang sama,
  3. Sinkronkan file dan direktori antara mesin lokal dan jarak jauh:
    • Sinkronkan file dengan mesin jarak jauh melalui koneksi soket langsung,
    • Sinkronkan file dengan mesin jarak jauh menggunakan SSH.

1. Menyinkronkan file yang disimpan di direktori berbeda pada mesin yang sama

Untuk tujuan panduan ini, saya akan membuat dua direktori root (yaitu replika) yaitu directory1 dan directory2 .

$ mkdir ~/directory1
$ mkdir ~/directory2

Letakkan beberapa konten di salah satu direktori di atas. Saya menyimpan beberapa file dan direktori di dalam directory1 .

Mari kita lihat isi directory1 :

$ ls -ltRF directory1/

Contoh keluaran:

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

Seperti yang Anda lihat, saya memiliki folder bernama dir1 dan dua file lainnya yaitu file1 dan file2 di root directory1 . Di dalam dir1 , ada file lain bernama file3 .

Dan directory2 replika tidak memiliki konten apa pun.

$ ls -ltRF directory2/
directory2/:
total 0

Mari kita sinkronkan kedua direktori ini menggunakan perintah serempak:

$ unison directory1/ directory2/

Anda akan ditanya apakah Anda ingin terus menyinkronkan konten directory1 dengan directory2 . Cukup tekan ENTER kunci. Selanjutnya, Unison akan meminta Anda untuk mengonfirmasi file dan direktori yang akan disinkronkan. Tekan ENTER atau tekan f untuk mengonfirmasi file dan folder yang ingin Anda sinkronkan. Terakhir, tekan y dan tekan ENTER kunci untuk melanjutkan menyebarkan pembaruan.

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)

Sekarang, semua isi directory1 akan direplikasi ke directory2 . Anda dapat memverifikasinya menggunakan ls perintah:

Lihat? Isi kedua replika itu identik. Seperti yang sudah saya sebutkan, izin file dan nomor inode file dan folder di kedua lokasi juga disinkronkan. Anda dapat melihat bahwa izin dan inode juga identik pada output di atas.

Apakah Anda melihat tanda panah di output saat menyinkronkan direktori? Misalnya, Anda seharusnya memperhatikan baris berikut di tengah output:

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

Tanda panah menunjukkan arah bahwa perubahan perlu disebarkan. Dalam kasus kami, panah menunjuk dari kiri ke kanan. Artinya - dir1 , file1 dan file2 disebarkan ke replika kedua yaitu directory2 .

Sekarang buat file baru di directory2 replika dan lihat apa yang terjadi.

$ touch directory2/file4

Sinkronkan dua replika menggunakan perintah:

$ unison directory1/ directory2/

Sekarang Anda akan melihat bahwa panah menunjuk dari kanan ke kiri. Artinya perubahan pada replika kedua disebarkan ke replika pertama. Dengan kata lain, isi directory2 direplikasi ke 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)

Serempak akan secara otomatis mengenali file mana yang perlu diperbarui di kedua replika. Saat Anda menjalankan Unison untuk pertama kalinya, ia akan mencatat stempel waktu modifikasi, izin, kepemilikan, dan nomor inode semua file dan folder di kedua lokasi. Berdasarkan informasi ini, Unison akan memutuskan file mana yang perlu diperbarui saat Anda menjalankan perintah yang sama lagi. Seperti yang dinyatakan sebelumnya, semua informasi akan disimpan di bawah ~/.unison direktori.

Untuk memverifikasinya sendiri, ubah konten file yang ada. Saya akan mengubah isi file4 di directory1 replika.

$ echo "Welcome to OSTechNix" > directory1/file4

Sekarang mulai sinkronisasi lagi:

$ unison directory1/ directory2/

Kali ini Unison akan menyinkronkan file yang dimodifikasi.

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)

Seperti yang Anda lihat pada output di atas, Unison telah mendeteksi bahwa file4 telah diubah di replika pertama dan disinkronkan dengan replika kedua.

Jika kedua replika tersebut dimodifikasi dan isinya berbeda, maka perubahan tersebut bertentangan. Dalam kasus seperti itu, Unison akan menanyakan kepada pengguna cara menyebarkan pembaruan di kedua sisi. Konflik akan ditampilkan dengan panah kiri dan kanan seperti di bawah ini.

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

Jika beberapa tindakan default ditunjukkan oleh panah, cukup tekan ENTER untuk melanjutkan ke file yang diubah berikutnya. Jika Anda ingin melakukan sesuatu yang berbeda dengan file ini, Anda dapat menekan salah satu "<" atau ">" untuk memaksa perubahan agar disebarkan dari kanan ke kiri atau dari kiri ke kanan.

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

Jika Anda tidak ingin membuat perubahan apa pun, cukup tekan "/" untuk melewati file ini dan membiarkan kedua replikanya.

1.1. Profil serentak

Serempak menggunakan profil untuk menyinkronkan file dan folder antara dua direktori pada mesin yang sama atau berbeda. Profil tidak lain adalah file teks tempat kami menentukan jalur direktori root yang sebenarnya dan preferensi jalur yang harus disinkronkan. Semua profil akan disimpan di .unison direktori di $HOME . Anda direktori.

Saat Anda menjalankan Unison untuk pertama kalinya, profil default bernama default.prf dibuat di bawah ~/.unison direktori. Profil default tidak memiliki preferensi yang ditentukan. Jadi semua yang disimpan dalam satu replika akan disinkronkan ke replika lainnya.

Kami juga dapat membuat profil khusus dengan daftar preferensi jalur. Ini akan membantu Anda menghindari sinkronisasi seluruh dua replika.

Dengan menggunakan profil khusus, kita dapat menginstruksikan Unison:

  • untuk menyinkronkan file dan folder tertentu,
  • untuk mengabaikan file tertentu atau jenis file tertentu dari sinkronisasi.

Mari kita lihat contohnya.

Buat dua replika dan simpan beberapa file dan folder dalam satu replika dan biarkan yang lain kosong.

$ mkdir ~/directory1
$ mkdir ~/directory2

Kemudian, buat profil baru dengan nama dir_profile.prf :

$ nano .unison/dir_profile.prf

Tentukan direktori root dan jalur file dan direktori yang ingin Anda sinkronkan:

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

# Paths to synchronize 
path = dir1
path = file2

Kedua akar dapat diberikan dalam kedua urutan. Serempak akan mengurutkannya ke dalam urutan kanonik sebelum melakukan hal lain. Jika Anda tidak menentukan jalur apa pun, Unison hanya akan menyinkronkan dua replika keseluruhan, mulai dari pasangan akar yang diberikan. Jika satu atau lebih preferensi jalur diberikan, maka Unison hanya akan menyinkronkan jalur ini dan turunannya.

Dalam contoh di atas, saya telah mendefinisikan dir1 dan file2 harus disinkronkan ke direktori root lainnya. Simpan dan tutup file.

Setelah membuat profil, mulailah proses sinkronisasi menggunakan perintah:

$ unison dir_profile.prf

Anda akan ditanya apakah Anda ingin terus menyinkronkan konten directory1 dengan directory2 . Cukup tekan ENTER tombol dan kemudian tekan f untuk mengonfirmasi jalur yang akan disinkronkan. Terakhir tekan y dan tekan ENTER kunci untuk melanjutkan menyebarkan pembaruan.

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)

Sekarang pergi ke replika kedua directory2 dan lihat apakah kontennya disinkronkan.

1.1. Abaikan file dari sinkronisasi

Terkadang, Anda mungkin tidak ingin menyinkronkan file tertentu atau jenis file tertentu. Jika demikian, Anda dapat menentukan file mana yang akan diabaikan di profil seperti di bawah ini.

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

Untuk profil sampel lainnya, lihat di sini.

1.2. Sinkronkan file dan direktori lokal dengan unison-gtk

Beberapa dari Anda mungkin tidak nyaman dengan baris perintah. Untungnya, Unison memiliki antarmuka grafis sederhana yang memungkinkan pengguna dengan mudah membuat profil dan menyinkronkan file berdasarkan profil melalui jendela grafis.

Pastikan Anda telah menginstal unison-gtk paket seperti yang ditunjukkan pada bagian instalasi di atas. Luncurkan serentak-gtk dari menu atau peluncur aplikasi.

Anda akan melihat jendela pemilihan profil pada peluncuran pertama. Jika Anda sudah membuat profil seperti yang dijelaskan, Anda akan melihatnya di sana.

Dari jendela profil, Anda dapat membuat profil baru dengan direktori root baru dan jalur yang akan disinkronkan. Atau, Anda cukup mengedit profil yang ada dan memodifikasi direktori root atau menambahkan file baru atau mengubah jalur yang akan disinkronkan.

Jika Anda tidak membutuhkan profil lagi, pilih saja dan klik Hapus.

Saya akan membuat profil baru. Untuk melakukannya, klik Tambah dari jendela pemilihan profil dan klik Teruskan .

Masukkan nama yang sesuai untuk profil baru Anda dengan deskripsi kecil:

Selanjutnya pilih jenis sinkronisasi yang ingin Anda lakukan. Karena ini adalah sinkronisasi antara dua direktori lokal, saya memilih "local" .

Pilih dua direktori root yang ingin Anda sinkronkan.

Pilih kotak centang berikut jika salah satu direktori root Anda berada di partisi FAT. Ini biasanya terjadi pada USB thumb drive.

Terakhir, klik Terapkan untuk membuat profil.

Profil yang baru dibuat sekarang akan muncul di jendela pemilihan profil. Pilih dan klik Buka.

Grafik Unison sekarang akan menunjukkan kepada Anda perubahan yang harus dilakukan di kedua sisi. Sama seperti antarmuka baris perintah Unison, tindakan default juga ditunjukkan oleh panah di antarmuka grafis. Seperti yang Anda lihat pada tangkapan layar di bawah, file disebarkan dari kiri ke kanan yaitu replika pertama ke replika kedua. Jika isi replika tidak sama, Unison akan menanyakan petunjuk tentang replika mana yang harus menggantikan yang lain.

Jika Anda puas dengan petunjuk penyebaran perubahan, klik Buka pada bilah alat atau pilih Sinkronisasi -> Buka dari bilah menu.

Setelah sinkronisasi berhasil diselesaikan, Anda akan melihat tanda centang di bawah bagian Status.

2. Menyinkronkan file dan direktori yang disimpan di disk yang berbeda pada mesin yang sama

Sinkronisasi file antara dua disk sama persis seperti di atas. Pastikan Anda telah menyebutkan jalur direktori root yang benar di drive eksternal.

Anda sekarang tahu cara menyinkronkan file antara dua direktori di hard disk yang sama dan disk yang berbeda di sistem lokal. Bagian berikut menjelaskan cara menyinkronkan file antara dua sistem yang berbeda.

3. Menyinkronkan file dan direktori antara mesin lokal dan jarak jauh

Seperti yang dinyatakan sebelumnya, Unison dapat menyinkronkan file antara sistem lokal dan jarak jauh melalui koneksi soket langsung dan melalui koneksi SSH terenkripsi. Seperti yang sudah Anda ketahui, SSH jauh lebih baik dan lebih aman daripada metode soket. Untuk tujuan panduan ini, saya akan menggunakan metode SSH untuk menyinkronkan file.

Pastikan Anda telah menginstal openSSH dan Unison di kedua sistem . Pastikan juga kedua sistem dapat berkomunikasi melalui SSH. Harap perhatikan bahwa sistem lokal dan jarak jauh Anda harus memiliki versi Unison yang sama .

Untuk memeriksa versi Unison, jalankan perintah berikut di sistem lokal dan jarak jauh Anda:

$ unison -version
unison version 2.48.4

Karena file akan disinkronkan melalui SSH, tidak masalah apakah sistem jarak jauh memiliki unison-gtk atau tidak. Antarmuka commandline serempak cukup pada mesin jarak jauh! Pada mesin lokal Anda, Anda dapat menggunakan antarmuka tekstual atau grafis serentak.

3.1. Sinkronkan file dan direktori antara mesin lokal dan jarak jauh dari baris perintah

Sekarang mari kita sinkronkan directory1 dari sistem lokal kami ke directory1 di sistem remote menggunakan unison dengan menjalankan perintah berikut:

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

Di sini, [email protected] adalah nama pengguna dan alamat ip sistem jarak jauh saya.

Anda akan diminta untuk memasukkan kata sandi pengguna jarak jauh Anda. Selanjutnya tekan ENTER untuk menyetujui sinkronisasi isi directory1 mesin lokal dengan directory 1 mesin jarak jauh. Kemudian tekan f untuk mengonfirmasi jalur yang akan disinkronkan. Terakhir tekan y dan tekan ENTER kunci untuk melanjutkan menyebarkan pembaruan.

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)

Perintah di atas akan mereplikasi isi directory1 dari sistem lokal ke directory1 pada sistem jarak jauh. Sekarang tambahkan file baru atau perbarui file yang ada dan coba sinkronkan lagi. Anda akan melihat hasil yang serupa di kedua sisi.

Jika Anda ingin menyinkronkan konten ke tempat lain selain direktori home pada sistem jarak jauh, Anda harus menentukan jalur absolut direktori jarak jauh dengan menambahkan garis miring ekstra antara nama host jarak jauh dan awal jalur seperti di bawah ini:

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

Jika Anda tidak ingin menyinkronkan seluruh direktori, cukup buat profil khusus dan tentukan jalur yang akan disinkronkan seperti yang dijelaskan di bagian berjudul 1.1. Profil serentak di atas.

3.2. Sinkronkan file dan direktori antara mesin lokal dan jarak jauh menggunakan unison-gtk

Luncurkan aplikasi Unison-gtk dari menu atau peluncur. Klik Tambah tombol di jendela pemilihan profil untuk membuat profil baru.

Klik Maju.

Masukkan nama profil Unison dan deskripsinya dan klik Teruskan.

Inilah langkah pentingnya. Pilih "ssh" dari kotak tarik-turun Jenis sinkronisasi. Masukkan alamat IP atau nama host sistem jarak jauh dan nama pengguna jarak jauh. Centang juga kotak "Aktifkan kompresi" untuk meningkatkan kinerja transfer data.

Pilih lokasi direktori lokal dan jauh yang ingin Anda sinkronkan.

Jika salah satu direktori Anda berada di partisi FAT, Anda harus mencentang opsi ini. Ini biasanya terjadi pada drive USB.

Klik Terapkan untuk menyelesaikan pembuatan profil.

Profil yang baru dibuat sekarang akan muncul di jendela pemilihan profil. Pilih profil dan klik Buka.

Anda akan diminta untuk memasukkan kata sandi pengguna jarak jauh Anda. Masukkan kata sandi dan klik OK.

Setelah memasukkan kata sandi, Unison akan mencantumkan perubahan yang akan disebarkan dari lokal ke jarak jauh. Tindakan default ditunjukkan dengan panah. Jika Anda tidak menginginkan tindakan default, tekan "kiri ke kanan" atau "kanan ke kiri" opsi di bilah menu untuk menginstruksikan replika mana yang harus menimpa yang lain. Terakhir, klik Buka untuk direplikasi.

Unison sekarang akan mereplikasi seluruh konten direktori lokal dengan direktori jarak jauh. Setelah sinkronisasi selesai, Anda akan melihat tanda centang di bawah bagian Status.

Anda dapat memverifikasi konten file dan direktori di kedua lokasi.

Metode di atas akan menyinkronkan seluruh konten replika lokal ke replika jarak jauh. Jika Anda ingin menyinkronkan file atau direktori tertentu, buat profil khusus dan tentukan jalur yang akan disinkronkan seperti yang dijelaskan di bagian berjudul 1.1. Profil serentak di atas.

3.3. Siapkan otentikasi berbasis kunci SSH (Opsional)

Setiap kali Anda menyinkronkan file antara dua sistem yang berbeda melalui SSH, Anda harus memasukkan kata sandi pengguna jarak jauh. Jika Anda tidak ingin memasukkan kata sandi setiap saat, Anda dapat mengatur otentikasi SSH tanpa kata sandi seperti yang dijelaskan dalam tautan di bawah ini. Jangan buat pasangan kunci SSH dengan frasa sandi. Jika tidak, Anda masih perlu memasukkan kata sandi saat menyinkronkan file antar sistem.

  • Cara Mengonfigurasi Otentikasi Berbasis Kunci SSH Di Linux

3.4. Siapkan tugas cron (Opsional)

Kami dapat menyinkronkan file secara otomatis pada interval waktu tertentu menggunakan tugas cron.

Misalnya, tambahkan entri berikut di crontab . Anda file untuk menjalankan sinkronisasi setiap hari (Ini akan berjalan pada 00:00):

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

Untuk detail selengkapnya tentang menyetel tugas cron, lihat panduan berikut:

  • Panduan Pemula Untuk Cron Jobs

Mendapatkan bantuan

Saya hanya membahas dasar-dasarnya. Ini cukup untuk mengatur sinkronisasi yang berfungsi pada sistem Linux Anda. Jika Anda ingin mempelajari penggunaan lebih lanjut, silakan lihat bagian bantuan Unison.

Untuk menampilkan halaman dokumentasi lokal, jalankan:

$ unison -doc topics

Anda akan melihat daftar topik yang tersedia di dokumentasi lokal.

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

Untuk melihat informasi detail tentang suatu topik, misalnya tutorial serempak , jalankan:

$ unison -doc tutorial

Anda juga dapat menampilkan seluruh manual Unison menggunakan perintah berikut:

$ unison -doc all

Saya juga telah melampirkan tautan resmi Unison di akhir panduan ini. Pelajari dokumentasi secara menyeluruh dan pelajari cara kerja Unison. Setelah Anda cukup mempelajarinya, coba atur sinkronisasi lokal dan/atau jarak jauh dengan Unison dalam produksi.

Kesimpulan

Serempak memungkinkan Anda untuk dengan mudah dan efisien menjaga dua atau lebih sistem sepenuhnya disinkronkan satu sama lain tidak peduli apa yang akan diubah pada salah satu sistem. Jika Anda ingin  menjaga dua contoh kumpulan file dan direktori pada dua sistem yang terbaru dan identik, Unison adalah pilihan yang baik!


Linux
  1. Cara menginstal Python di Linux

  2. Cara menginstal Java di Linux

  3. Cara mengenkripsi file dengan gocryptfs di Linux

  1. Cara Unzip File di Linux (dengan Contoh)

  2. Cara Menemukan File dengan Perintah fd di Linux

  3. Cara Menginstal File .deb di Ubuntu Linux

  1. Instal Linux dengan LVM

  2. Cara Menginstal Fail2ban dengan Firewalld di Rocky Linux 8

  3. Bagaimana saya bisa memindahkan file dengan xargs di Linux?