Saya memiliki tiga kotak jendela yang terhubung ke kotak linux di jaringan saya dalam berbagai cara (satu lokal ke jaringan, satu adalah laptop dan mungkin atau mungkin tidak lokal, dan yang lainnya adalah desktop kerja saya). Saat ini saya menggunakan git untuk menyinkronkan sebagian besar barang saya di antara kotak-kotak (menggunakan kotak Linux sebagai server) dan itu bekerja seperti juara.
Sekarang, bagaimanapun, saya juga ingin menambahkan koleksi MP3 saya (12 gigs) agar disinkronkan secara efisien di antara kotak-kotak. Awalnya saya pikir saya bisa menggunakan git untuk ini, tetapi sepertinya rsync akan menjadi pilihan yang lebih baik karena saya tidak benar-benar membutuhkan semua barang bersejarah. Karena semua skrip manajemen saya yang ada berjalan di bawah git bash (bukan cygwin), saya ingin dapat menggunakannya dari git bash (MINGW32 adalah apa yang tertulis di bilah judul jendela). Bisakah saya mengunduhnya di Cygwin dan menyalinnya atau ada cara yang lebih baik untuk mendekatinya? Kotak Linux menjalankan versi terbaru dari edisi Server Ubuntu - apakah saya perlu melakukan apa saja untuk mengaktifkan rsync agar berfungsi dengan benar di dalamnya?
Saya menyadari bahwa saya mungkin melakukan ini dengan cara yang sedikit lebih sulit daripada yang dibutuhkan, tetapi saya juga menggunakan ini sebagai latihan dalam meningkatkan keterampilan baris perintah saya. Ada saran?
Saya dapat menggunakan rsync dari shell cygwin saya, tetapi tidak dari msysgit. Saya mencoba menyalin rsync.exe dari folder bin cygwin ke folder bin msysgit, tetapi masih belum menemukannya. Apakah ada langkah lain yang perlu saya lakukan untuk menginstalnya di sana? Sungguh aneh bahwa saya mendapatkan kesalahan karena tidak dapat menemukan file, alih-alih memberi saya kesalahan bahwa salah satu dependensi file hilang.
rsync.exe
hanya berbagai versi rsync dalam.pkg.tar.xz
format. Itu mungkin OK, kecuali bahwa saya tidak dapat menginstalapt-get install xz-utils
(sudo apt-get install xz-utils
) karena saya tidak dapat menginstalsudo
ATAUapt-get
ke Git Bash untuk Windows :-( dan dengan demikian tidak dapat menginstalxz-utils
. Apakah ada cara lain untuk mengatasi ini? Apakah ada tautan yang lebih baru di mana saya bisa mendapatkanrsync.exe
, atau beberapa cara saya bisa mendapatkan Git Bash untuk mengompres file .xz ini?tar -xf rsync-3.1.3-1-x86_64.pkg.tar.xz
, saya mendapatkan banyak pesan yang menyatakan:Cannot open: Permission denied
,Cannot mkdir: Permission denied
,Cannot mkdir: No such file or directory
danCannot open: No such file or directory
untuk berbagai file / direktori. Mungkin Git Bash sudah tahu cara mengompresxz
file? Tapi tidak bisakah izin itu? Saya tidak dapat menggunakan atau menginstalsudo
. untuk Git Bash.cd / && tar Jxvf /c/Users/$USR/Downloads/rsync-3.1.3-1-x86_64.pkg.tar.xz
C:\Program Files\Git\usr\bin
folder.Saya tahu pertanyaannya bukan "Menggunakan rsync untuk MSYS", tapi saya pikir menyebutkan ini relevan:
"MinGW Shell" (sebelumnya dikenal sebagai "MSYS (Basic System)") memang memiliki rsync. Saya menggunakan shell / sistem itu sesering mungkin karena jauh lebih kecil daripada Cygwin. (Saya mungkin satu-satunya yang peduli tentang ukuran file hari ini.)
"Git untuk Windows" / "Git Bash" dapat dengan mudah menambahkan rsync karena didasarkan pada MinGW / MSYS dan telah disebutkan di milis sebelumnya.
PS! Jika MinGW Shell Anda tidak memiliki rsync, jalankan saja "mingw-get install msys-rsync" untuk menambahkannya.
Diperbarui pada 25 Maret 2016:
Git untuk Windows sekarang menggunakan MSYS2. Dan MSYS2 menggunakan "pacman", bukan "mingw-get", untuk menginstal paket. Sayangnya, "Git untuk Windows" tidak termasuk pacman ... Ada dua opsi:
Opsi terakhir adalah favorit saya, tetapi belum disederhanakan sehingga opsi pertama mungkin lebih mudah. Semoga akan diperbaiki .
PS! Saya belum banyak bermain dengan MSYS2 / pacman, tapi sepertinya sangat menjanjikan.
Diperbarui 7 Agustus 2019:
Jika Anda menggunakan Git untuk Windows (Git Bash), lebih baik mengambil paket rsync dari repositori Paket MSYS2, seperti yang dijelaskan dalam jawaban di atas .
sumber
$ mingw-get bash: mingw-get: command not found
pacman -S rsync
. Di masa lalu saya menggunakan CygWin tapi saya pikir MSYS2 mengagumkan, saya tidak perlu menjalankan gui untuk menginstal paket tambahan.Saya menganggap
git bash
Anda benar-benar jahatmsysgit
, alias "git for windows." Opsi Start Menu adalahgit bash
, yang menjelaskan nama yang Anda gunakan ..Pertama, Anda benar dalam menolak git sebagai opsi di sini. Salah satu hal yang tidak dilakukan git dengan baik adalah menangani file biner - dan Anda akan berakhir dengan repositori besar yang membengkak. Selain itu, karena Anda tidak akan menangani perubahan, menggunakan overhead dari git menurut saya berlebihan.
Kedua, sepertinya pertanyaan yang sebenarnya Anda tanyakan adalah, "Bisakah saya menggunakan rsync dari msysgit / Windows?" Jawaban singkatnya adalah, tidak keluar dari kotak.
msysgit
benar-benar hanya baris perintah Windows dalam hal bentuk dan fungsi. Karena itu, Anda memiliki dua opsi: unduh alat pihak ketiga untuk mengaktifkan rsync pada mesin Windows Anda ( Stack Overflow: Rsync untuk Windows ), atau cukup gunakan cygwin. Sungguh, mereka memiliki hasil yang sama - jadi terserah Anda untuk memutuskan mana yang bekerja lebih baik.sumber
msysgit
adalah baris perintah Windows, yang mendukung Windows executable. Apa yang mungkin terjadi adalah, bahkan tidak dapat mendeteksi file sebagai executable. Sederhananya, cygwin dan msysgit bahkan tidak kompatibel dari jarak jauh.cygiconv-2.dll
,cygwin1.dll
danrsync.exe
dari Cygwin ke jalur msysgit Anda. Tidak ada yang lain (terutama bukan ssh.exe). Masalahnya biasanya ketidakcocokan antara Git SSH dan Cygwin / rsync SSH. Cobalah untuk mempertahankan versi yang sama. Anda masih akan memiliki masalah dengan/cygdrive/
tetapi di sana saya tidak punya solusi kecuali acd
.Untuk apa nilainya, saya mengalami masalah serupa mendapatkan cwRsync untuk bekerja di msysgit ketika jatuh ke jalur bin, tetapi setelah mencoba banyak hal yang berbeda akhirnya menemukan bahwa hanya memperbarui ke versi terbaru (2.10.2) dari Git untuk Windows memperbaiki isu.
sumber
rsync bagus untuk sinkronisasi searah. Anda dapat menjalankan rsync di bawah cygwin, atau untuk Windows juga ada Deltacopy
Jika Anda ingin memiliki sinkronisasi dua arah, maka lihatlah bersamaan
Untuk alat sinkronisasi direktori lintas platform, ada sinkronisasi yang berjalan di sebagian besar platform.
sumber