Jawaban:
Aku akan mencoba,
rsync -a /from/file /dest/file
Anda dapat menggunakan pilihan lain seperti --append
, -P (--partial --progress)
. Lihat man rsync untuk info lebih lanjut.
Atau jika Anda menggunakan cp
lalu gunakan cp -u
.
dari man cp
:
-u, --update
copy only when the SOURCE file is newer than the destination file or when the destination file is missing.
cp -u
mungkin tidak peduli, karena hanya memeriksa stempel waktu, bukan ukuran ... Jadi, Anda harus ke touch
sumber file terlebih dahulu jika Anda harus menggunakannya . (Atau cukup gunakan rsync
.)
Untuk transfer file parsial, cp
mungkin bukan yang Anda butuhkan.
Saya sarankan menggunakan rsync
sebagai gantinya. Bahkan ketika transfer gagal, Anda cukup menjalankan kembali perintah di lain waktu, dan itu hanya akan menyalin file yang hilang.
Contoh:
$ rsync -aPEmivvz from/ to/
(akan menyalin from/
ke to/
direktori)
Karena rsync
sinkronisasi dan pemeriksaan setelah setiap transfer, memastikan file telah disalin dengan benar adalah sepele.
Perangkat swich -aPEmivvz
adalah pilihan masuk standar saya , setiap kali menyalin file melalui jaringan atau drive eksternal, termasuk perangkat plug-in, seperti SD-Cards, dll.
Ini adalah switch yang saya gunakan hampir selalu:
-a
: "arsip", termasuk -rlptgo
(rekursif, symlink sebagai symlink, izin, waktu, grup, pemilik)
-P
: "sebagian kemajuan" menunjukkan bilah kemajuan yang bagus untuk setiap file
-E
: "executability" mempertahankan apakah dapat dieksekusi atau tidak
-m
: "noempty" memangkas direktori kosong
-i
: "ringkasan" cetak ringkasan perubahan untuk semua pembaruan
-vv
: "lebih banyak kata"
-z
: "kompresi"
Anda seharusnya tidak menggunakannya cp
untuk ini. Seperti yang dinyatakan orang lain, itu bukan alat yang tepat untuk pekerjaan itu. Alat yang benar akan tergantung pada tujuan Anda.
Jika Anda hanya ingin salinan langsung:
rsync /source /destination
dengan beberapa tingkat bendera. Lihat jawaban lain untuk beberapa contoh yang sangat bagus.
Jika Anda ingin memiliki pembaruan dua arah
unison
adalah cara untuk pergi. Rsync tidak bekerja dengan sangat baik pada resolusi konflik dengan sinkronisasi dua arah. Khusus menghapus. Jadi, Anda ingin salinan bi-directional menyalaunison
Jika Anda ingin cadangan dan file berbasis teks, maka Anda dapat mencoba menggunakan git
. Git dapat dijalankan secara lokal, tidak perlu untuk "server". Bahkan, server git hanyalah metode berbagi file. Anda benar-benar dapat memiliki git repo di drive cadangan dan "dorong" ke sana. Sekali lagi ini hanya berfungsi jika file berbasis teks dan Anda mencoba untuk mendapatkan cadangan satu arah.
Sekali lagi jika Anda mencari cadangan (dan bukan hanya satu kali) maka lihat deja-dupe, BackIntime, atau opsi serupa. Mereka mengambil snapshot data pada suatu titik waktu. Mereka semua menjalankan rsync di bawah tenda.