Saya menggunakan rsync dengan flag-flag berikut mudah diingat sebagai 'glop' dan 'trunc' dan 'v'.
rsync -gloptrunc $srcdir $dstdir
Panduan singkat:
- g - menyimpan info kepemilikan grup
- l - salin symlink sebagai symlink
- o - menyimpan info pemilik
- p - menjaga izin
- t - menyimpan stempel waktu
- r - rekur melalui direktori
- u - perbarui, lewati semua file yang lebih baru
- [n] - tidak, jangan lakukan ini, lakukan lari kering sebagai gantinya
- c - checksum, coba checksum pada blok file jika memungkinkan (*)
catatan: pada sistem file lokal, ini akan diganti dan seluruh file disalin sebagai gantinya.
- v - verbose
Saya selalu menjalankan di atas untuk memastikan itu berfungsi, lalu menghapus bendera 'n' yang pernah saya senang dengan hasilnya.
Fitur utama dari kombinasi di atas:
- Saya menjalankannya dalam KEDUA arah antara dua (atau lebih) server, sehingga menyinkronkan dalam KEDUA arah. Anda memperbarui mana pun yang Anda rasakan adalah master pada saat itu.
- Memungkinkan untuk menjadi master, dengan peringatan penting bahwa jika Anda ingin menghapus sesuatu, Anda harus menghapusnya pada keduanya untuk memastikan itu benar-benar hilang, kalau tidak itu akan kembali.
Saya menggunakan ini untuk menjaga dua mesin tetap sinkron, atau untuk menjaga subdirs dalam sinkronisasi (seperti membuat cadangan ke drive USB).
Seperti yang dikatakan salah satu posting lain sebelumnya, 'checksum' sebenarnya dapat dimatikan jika Anda berurusan dengan drive lokal.
Dalam beberapa kasus yang jarang terjadi, saya harus menambahkan parameter tambahan ke akun untuk perubahan akun login di mesin jarak jauh, mengubah port, dan bahkan menentukan di mana 'rsync' tinggal di host jarak jauh ... tetapi itu tidak langsung berlaku untuk Anda pertanyaan.