Saya membeli hard drive eksternal untuk membuat cadangan komputer di rumah saya (akhirnya !!). Saya berharap menggunakan rsync. Saya telah melihat contoh yang melakukan (atau tampaknya melakukan) persis apa yang saya inginkan. Sesuatu seperti ini:
rsync -aE --delete /path/to/what/I/want/to/backup /Volumes/FW200/Backups
Namun, ketika melihat dokumentasi dan contoh rsync dan sebagainya, segalanya mulai terlihat JAUH lebih rumit dari itu. Jaringan dan daemon dan jargon, oh my!
Saya berasumsi bahwa tidak ada hal-hal yang diperlukan selama saya hanya melakukan sinkronisasi dari komputer ke drive eksternal yang terhubung dengan firewire. Saya salah dalam menganggap itu? Apakah hal-hal yang benar-benar akan menjadi lebih rumit daripada perintah tidak berbahaya itu?
Jawaban:
Rsync berfungsi dengan baik di seluruh drive lokal. Namun, jika mendeteksi jalur lokal secara otomatis masuk ke mode --whole-file yang tidak menyalin diffs, tetapi hanya menyalin file sumber di atas file tujuan. Rsync masih akan mengabaikan file yang tidak berubah sama sekali. Ketika bandwidth antara sumber dan tujuan tinggi (seperti dua disk lokal) ini jauh lebih cepat daripada membaca kedua file, kemudian menyalin hanya bit yang diubah.
sumber
Saya menggunakan rsync dengan flag-flag berikut mudah diingat sebagai 'glop' dan 'trunc' dan 'v'.
rsync -gloptrunc $srcdir $dstdir
Panduan singkat:
catatan: pada sistem file lokal, ini akan diganti dan seluruh file disalin sebagai gantinya.
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 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.
sumber
rsync -gloptrunc --delete --delete-excluded $srcdir $dstdir
. Kata--delete
mengatakan untuk menghapus apa pun di tujuan yang tidak ada di sumber, dan--delete-excluded
mengatakan juga menghapus file yang dikecualikan di tujuan yang biasanya tidak akan dilacak atau disalin. Jika Anda menggunakan--delete-excluded
, secara teknis Anda tidak perlu juga menggunakan--delete
, tetapi tidak apa-apa untuk menggunakan keduanya. Detail ada di halaman manual di sini: linux.die.net/man/1/rsync .Tidak ada yang diperlukan, Anda dapat menggunakan rsync tanpa daemon atau konfigurasi apa pun lainnya HANYA HALUS!
Cukup gunakan perintah rsync dan Anda siap melakukannya.
sumber
Menilai oleh path di perintah rsync Anda, apakah saya benar dalam berpikir Anda menggunakan Mac OS X?
Secara pribadi, saya akan memilih untuk menggunakan Time Machine (jika Anda menggunakan Leopard), atau Carbon Copy Cloner ( http://www.bombich.com/software/ccc.html ) yang menggunakan rsync.
Jauh lebih mudah daripada mencoba memperbaiki skrip Anda sendiri. Salah satu keuntungannya adalah Time Machine dan CCC keduanya akan memberi Anda cadangan tambahan.
sumber
Contoh yang Anda gunakan sepertinya berfungsi dengan baik untuk cadangan.
Satu hal yang mungkin ingin Anda pertimbangkan ketika menggunakan rsync adalah menggunakan opsi --link-dest. Ini memungkinkan Anda menyimpan beberapa cadangan, tetapi menggunakan tautan keras untuk file apa pun yang tidak berubah, sehingga secara efektif membuat semua cadangan mengambil ruang tambahan. Contoh penggunaannya adalah:
Ini mengasumsikan Anda memiliki cadangan tanggal untuk 12 Juni dan Anda ingin membuat yang baru pada 13 Juni. Anda mungkin ingin menghilangkan opsi -v jika Anda tidak ingin printout dari setiap file.
sumber
Itu benar-benar tergantung pada apakah Anda menjalankan database atau tidak. Rsync akan mengambil snapshot dari setiap file, dan mengabaikan tulisan yang campur tangan. Jika Anda ingin mencadangkan database, Anda harus melihat menyiapkan filter abaikan dan menjalankan alat dump DB sebelum rsync.
sumber
Perintah Anda sebagai tertulis harus berfungsi, namun Anda mungkin ingin melihat program yang disebut rsnapshot yang dibangun di atas rsync dan menyimpan beberapa versi file sehingga Anda dapat kembali dan melihat berbagai hal seperti minggu lalu atau bulan lalu. Konfigurasi ini cukup mudah dan sangat bagus dalam optimasi ruang jadi kecuali Anda memiliki banyak churn, itu tidak memakan banyak ruang lebih dari satu cadangan.
sumber
Anda tidak menyebutkan sistem Operasi Anda. Pergi dengan asumsi bahwa OS berbasis * nix, perintah Anda baik.
Namun, jika salah satu atau kedua drive berformat NTFS, sedang diakses dari * nix atau bahkan dari dalam Windows menggunakan Mobaxterm / cygwin, maka fungsi rsync incremental tidak akan bekerja dengan baik dengan
rsync -a (archive flag)
Jika drive NTFS terlibat, Anda dapat menggunakan:
Unduh klien Mobaxterm ssh untuk memiliki fungsionalitas rsync pada Windows.
Berikut ini informasi lebih lanjut tentang penggunaan rsync dengan drive NTFS
sumber
Saya mencoba menggunakan rsync untuk cadangan tetapi akhirnya menjadi berantakan. rsync lebih cocok untuk 'menyinkronkan' daripada untuk membuat cadangan. Dan itu berlangsung selamanya untuk membandingkan file besar.
Saya meneliti sedikit dan mencoba beberapa yang (pada dasarnya menguji semua orang dari cadangan pencarian apt-cache di ubuntu).
Akhirnya saya berakhir dengan ' backup2l - low-maintenance backup / restore tool', mudah. Saya suka cara mengelola perencanaan dan rotasi (dalam level). Saya menjalankannya setiap kali saya memiliki drive eksternal USB saya terpasang dari baris perintah tetapi Anda juga dapat mengotomatiskannya.
sumber
Coba dirvish untuk melakukan backup. http://www.dirvish.org/
Menggunakan hardlink dari rsync di dalam apa yang disebut vaults. Anda dapat menyimpan sebanyak mungkin kesedihan lama seperti pada disk USB. Atau atur secara otomatis.
Setelah Anda memahami ide dirvish itu lebih nyaman untuk digunakan daripada rsync dengan semua opsi itu sendiri.
sumber
Saya menemukan solusi untuk komputer berbasis Windows: http://www.itefix.no/i2/node/10650
Untuk menyalin D: \ partisi ke drive eksternal K: \
rsync -aE --delete --progress /cygdrive/d/* /cygdrive/k
sumber