Saya telah membuat cadangan server web linux menggunakan rsync dengan cygwin. Saya sekarang memiliki salinan server yang sempurna di laptop windows saya. Jika saya menghapus atau memodifikasi file di laptop saya dan menjalankan rsync lagi dengan cygwin apakah itu akan menghapus / memperbarui file yang sama di server? Saya di bawah kesan bahwa jika saya menghapus / memodifikasi pada server dan menjalankan rsync di laptop saya itu akan menghapus / memodifikasi file lokal di laptop saya tetapi apakah ini bekerja secara terbalik?
25
unison
. Ini adalah alat sinkronisasi yang menyimpan status file pada kedua salinan dan karenanya memungkinkan sinkronisasi dua arah. Ada juga paket cygwin.Jawaban:
Rsync melakukan sinkronisasi satu arah, namun terserah Anda untuk memutuskan ke mana sinkronisasi berjalan.
Sintaks perintah Rsync adalah sebagai berikut:
Perhatikan bahwa Anda menentukan sinkronisasi dari sumber ke tujuan. Sumber dan tujuan dapat berupa jalur lokal atau jauh.
Sebagai contoh jika Anda ingin menyalin file dari server Anda ke laptop Anda Anda lakukan:
Untuk menyinkronkan arah berlawanan yang Anda lakukan:
Jadi untuk menjawab pertanyaan Anda: itu tergantung pada bagaimana Anda menjalankan rsync.
Jika Anda ingin file dihapus di tujuan, Anda perlu menggunakan
--delete
opsi. Tapi hati-hati dengan itu, karena jika Anda membuat kesalahan ketika menentukan sumber Anda maka Anda akan akhirnya menghapus semua yang ada di tujuan Anda. Lebih aman untuk menguji sinkronisasi Anda tanpa--delete
opsi terlebih dahulu dan begitu Anda puas dengan cara kerjanya, Anda dapat menambahkan--delete
opsi.Seperti yang disarankan oleh masegaloeh dalam komentar di bawah,
-n
atau--dry-run
opsi juga dapat digunakan untuk mengujirsync
perilaku perintah.sumber
-n
atau--dry-run
, jadi Anda akan tahu file mana yang akan dihapus dan dimodifikasiAlat pembungkus yang ditulis dalam python3 disebut
bsync
wrapsfind
danrsync
perintah yang menyederhanakan tugas. Github repo: https://github.com/dooblem/bsyncJangan takut ketika ada di github (yaitu dengan cara yang Anda pikir Anda harus menjadi programmer untuk menggunakan alat ini).
sumber
pertimbangkan untuk menggunakan --delete-after dan bukan --delete, ini akan memastikan bahwa pihak penerima Anda akan menghapus file setelah transfer, bukan sebelumnya.
sumber
rsync
menghapus apa pun. Dia menghapus semuanya sendiri. Karena itu, petunjuk bermanfaat untuk rsync'ing secara umum. Terima kasih.