Bagaimana cara andal menyinkronkan file sumber lokal dengan remote?

1

Saya mengembangkan secara lokal pada mac yang menjalankan MAMP dan BBEdit. Saat ini saya menggunakan Transmit untuk menyinkronkan file dengan (S) FTP. Saya suka perangkat lunak dan memiliki fitur "sinkronisasi" untuk membandingkan file lokal dengan remote baik berdasarkan ukuran file atau tanggal modifikasi, tetapi saya menemukan fitur ini tidak dapat diandalkan dalam pengaturan mana pun. Firasat saya adalah itu adalah hasil dari:

  1. OSX Mt. Lion mendaftarkan ukuran file sebagai KB dan server linux menggunakan KiB (lebih lanjut tentang itu sini )
  2. Saya menggunakan git untuk kontrol versi dan saya pikir tanggal modifikasi keluar dari sinkronisasi ketika saya beralih di antara cabang.

Intinya adalah bahwa Transmit tampak seperti alat yang sempurna untuk proyek yang lebih kecil dengan lebih sedikit pengembang, tetapi untuk proyek yang saat ini saya kerjakan (dengan beberapa cabang kerja, sering melakukan, dan kebutuhan untuk sinkronisasi file yang tepat dan sistematis) tidak sepertinya pekerjaan terserah.

Saya juga menggunakan Filezilla yang dapat dipercaya, yang tampaknya tidak memiliki masalah keandalan yang sama, tetapi juga tidak memiliki fitur "sinkronisasi" yang nyata. Ini akan menunjukkan perbedaan tetapi Anda perlu menelusuri direktori secara manual dan menemukan semuanya (seperti berburu telur Paskah). Ini tidak praktis bagi saya karena perubahan sering melibatkan banyak file di direktori yang berbeda.

Pertanyaan saya: Apa cara yang benar untuk melakukan ini ??

Saya melihat di sini bahwa BBEdit memiliki browser FTP dan alat baris perintah yang berbeda, tetapi saya belum menemukan dokumentasi tentang cara menggunakannya dengan file jarak jauh.

emersonthis
sumber
Bagaimana dengan alat "rsync"?
s-m-e
Saya mencarinya dan tampaknya menjadi alat baris perintah. Untuk membantu saya memahami, dapatkah Anda menjelaskan secara singkat bagaimana alur kerja akan bekerja dalam konteks yang saya jelaskan di atas? Mungkin sebagai jawaban.
emersonthis

Jawaban:

1

Apa yang Anda cari adalah "rsync", dari sudut pandang saya. Cara terbaik untuk memulai adalah halaman manual: http://linux.die.net/man/1/rsync

Secara teknis, tidak ada alur kerja tetap tentang cara menggunakan alat ini. Ada sejumlah pola di luar imajinasi kebanyakan orang. Sebagai contoh, Anda dapat membuatnya berperilaku seperti mesin waktu OSX: http://blog.interlinked.org/tutorials/rsync_time_machine.html Anda pada dasarnya harus menentukan alur kerja Anda dan menemukan serangkaian opsi / switch yang sesuai untuk melakukan rsync, apa yang Anda inginkan.

Bahkan, Anda dapat menemukan berbagai ujung depan grafis, jika Anda tidak suka menggunakan baris perintah. Contoh yang baik adalah ini: http://www.opbyte.it/grsync/

s-m-e
sumber
Saya akan menandai jawaban Anda sebagai solusinya karena tampaknya alat yang tepat untuk apa yang ingin saya lakukan ... namun saya harus mencatat bahwa saya belum dapat menggunakannya karena saya mendapatkan kesalahan berikut ketika saya menggunakan grsync : rsync -s unknown option. Saya melakukan google cepat dan sepertinya kaleng cacing jadi saya harus menggali ke dalamnya nanti ketika saya punya waktu untuk sebuah proyek.
emersonthis
Ini adalah bagian rumit dari rsync - ini membutuhkan sedikit pembelajaran, karena ini adalah dunia yang kompleks. Tapi itu sepadan. Untuk sakelar "-s", lihat halaman manual dan cari tahu, apa fungsinya.
s-m-e
1

Gunakan rsync. Jika Anda menemukan dokumentasi tersebut tidak dapat ditembus, coba grsync wrapper GUI. rsync dibuat khusus untuk sinkronisasi. Ini memiliki banyak pilihan yang hampir pasti akan memenuhi kebutuhan Anda dan sejauh yang saya tahu hampir semuanya dapat diakses melalui grsync. Ini juga merupakan alat yang cukup bagus untuk membuat segala jenis salinan file jarak jauh yang melibatkan pohon direktori, apakah Anda menyinkronkan atau tidak - lebih cepat dari scp atau bahkan ftp, setara dengan tar | ssh tetapi tidak terlalu rumit.

user70619
sumber