Bagaimana cara menyinkronkan file / data antara dua PC di jaringan rumah?

11

Saya memiliki desktop dan laptop dengan file yang hampir sama di dalam direktori home mereka. Kadang-kadang saya membuat perubahan dalam ~/Music, ~/Documents, dll Tapi perubahan ini tentu saja tidak mempengaruhi mesin lain.

Jadi saya ingin memiliki solusi untuk menyinkronkan semua data di folder rumah laptop dan desktop saya. Saya dapat menghubungkan mereka dengan kabel silang sesekali.

Saya tidak ingin menggunakan Ubuntu One atau Dropbox (filenya besar, dan tidak perlu menggunakan Internet ketika keduanya ada di jaringan rumah).

Gaurav Butola
sumber
Dropbox juga menawarkan sinkronisasi jaringan jadi mungkin itu bukan alat yang salah.
turbo

Jawaban:

8

Untuk sekumpulan kecil file, saya sarankan Dropbox atau Ubuntu One , tetapi sepertinya Anda ingin menyinkronkan koleksi musik Anda di antara komputer, dan tak satu pun dari ini sangat cocok untuk itu karena dua alasan:

  • Keduanya menyinkronkan ke internet, artinya koleksi file dalam jumlah besar akan membutuhkan waktu lama untuk di-down dan diunggah
  • Mereka menawarkan jumlah ruang terbatas (dengan kemampuan untuk membeli lebih banyak), yang berarti bahwa untuk koleksi file yang besar, Anda mungkin harus membayar banyak uang

Unison , yang saya gunakan untuk replikasi lokal, tidak memiliki keterbatasan ini (secara inheren). Anda dapat menyinkronkan melalui jaringan lokal Anda, artinya ini cepat (Anda juga dapat menyinkronkan melalui internet jika Anda mau), dan dapat menyinkronkan sebanyak yang Anda inginkan - hanya dibatasi oleh ruang disk dan bandwidth yang tersedia. Unison memiliki antarmuka GUI dan terminal, yang berarti Anda dapat menggunakannya di desktop dan server dengan setara. Ada panduan bagus tentang wiki Ubuntu yang mungkin ingin Anda rujuk jika Anda memilih untuk menggunakan Unison.

Iain Lane
sumber
1
Ini persis apa yang saya cari tetapi ada masalah di dalamnya imgur.com/Apqbq.png orang lain juga memiliki masalah yang sama dengan serempak. Apakah Anda tahu solusinya?
Gaurav Butola
1
Hmm, saya belum melihat itu sendiri, tetapi saya menemukan bug Debian berikut yang mungkin ingin Anda perhatikan: bugs.debian.org/cgi-bin/bugreport.cgi?bug=252336 - terdengar seperti masalah dengan program terganggu. Coba dan hapus file yang disebutkannya dan lanjutkan lagi. Jika terus-menerus maka Anda mungkin lebih beruntung dengan versi commandline (itu yang saya gunakan). Maaf saya tidak bisa membantu.
Iain Lane
Terima kasih atas bantuan Anda. Ini persis apa yang saya inginkan, Ini benar-benar alat yang hebat, saya menyinkronkan data saya melalui SSH menggunakan serempak.
Gaurav Butola
7

Alat terbaik untuk ini adalah alat baris perintah "Rsync". Jika Anda memerlukan GUI, coba Unison atau LuckyBackup, yang didasarkan pada konsep Rsync. Unison dan LuckyBackup keduanya berada di dalam repositori.

Contoh rsync mungkin:

rsync -vxtr / home / scaine / Pictures / / home / OtherUser / Pictures /

... yang akan menyinkronkan direktori Pictures saya dengan direktori Pictures OtherUser. Opsi yang saya tentukan akan memverifikasi salinan apa pun, mempertahankan stempel waktu / izin selama penyalinan dan akan melintasi subdirektori di mana ditemukan. Lakukan "man rsync" untuk opsi lainnya.

Sedangkan untuk menghubungkan PC Anda bersama-sama - baik menempatkannya pada switch / hub atau gunakan kabel crossover kemudian bagikan direktori melalui samba.

EDIT: Beberapa poin bagus untuk dibuat jika tujuannya adalah untuk "mirror" kedua PC. Perintah ini hanya akan "menambahkan" file dari sumber ke tujuan. Jika Anda perlu menghapus, maka Anda perlu opsi -delete di sana juga.

Pada penyelidikan, tampaknya Rsync tidak menangani mirroring dengan sangat baik. Lihat ini untuk menyadari bahwa Anda mungkin akan menemukan file yang lebih lama menimpa file yang lebih muda selama pembaruan ini! Lebih buruk lagi, bahkan jika Anda mendapatkan opsi -perbarui untuk bekerja dan mencegah perilaku ini, itu tidak akan "memperbarui" yang lebih lama dengan file yang lebih muda - itu hanya akan "melewati" itu. Sangat tidak ideal.

Terakhir, untuk melakukan sinkronisasi dua arah, Anda harus menjalankan perintah yang sama tetapi membalikkan sumber / dest. Tentu saja, ini adalah penggunaan terbatas sekarang, karena perintah pertama Anda (dengan asumsi Anda menggunakan opsi -delete) akan menghapus file apa pun pada tujuan yang tidak ada pada sumbernya. Serentak menangani sinkronisasi dua arah dengan cukup baik, dari memori.

Jika Anda serius mencoba menjaga beberapa pengeditan tetap sinkron, maka solusi Dropbox adalah cara terbaik untuk maju. Jika Anda dapat melihat UbuntuOne atau Dropbox lagi, symlinking mungkin merupakan solusi - hanya symlink folder dokumen Anda, katakanlah, sambil menjaga Pictures dan Music dari One / Dropbox dan menggunakan solusi rsync / unison ini untuk hal-hal besar?

Scaine
sumber
Saya akan menyinkronkan seluruh / rumah dari keduanya, apakah itu benar untuk dijalankan? rsync -vxtr / home / user1 / home / user2 apakah akan melakukan sinkronisasi dua arah? Apakah akan menyimpan salinan dokumen yang diedit terbaru atau mengabaikan file jika ada?
Gaurav Butola
Lihat hasil edit saya untuk pertanyaan awal.
Scaine
1

Beberapa alternatif berbasis gui jika Anda tidak ingin atau suka menggunakan terminal

grsync seperti namanya menyiratkan dasar gui untuk rsync.

serempak serempak menggunakan lebih banyak backend alternatif daripada grsynctetapi selain itu mereka melakukan hal yang sama

Anda dapat menginstalnya dari Pusat Perangkat Lunak atau menggunakan apt-get

Allan
sumber
0

Jawaban sederhana:

rsync -vzu [email protected]:/remote/dir/*  /local/dir

Opsi -u membandingkan tanggal dan transfer hanya jika tanggal target lebih tua dari tanggal sumber.

-v berarti verbose, -z berarti menggunakan kompresi.

Raja Yan Yin
sumber