Saya menggunakan perintah scp untuk menyalin beberapa file ke komputer remote, seperti yang Anda lakukan dengan scp :)
Saya perhatikan bahwa perilaku default dari salinan scp untuk file adalah menimpa file yang ada. Sekarang saya ingin menyalin folder jadi pada dasarnya saya melakukan hal yang sama:
scp -r <source_path> user@myOtherPc:<dest_path>
Di mana bagian dalam & lt; & gt; adalah jalur folder saya. Namun ketika saya menjalankan ini saya mendapatkan pesan "file ada". Apakah ada jalan keluarnya? semacam kekuatan over-write?
Terima kasih, Makanan ternak
-v
. Juga, apakah Anda menggunakan jalur absolut atau relatif di sisi tujuan? Saya pikir jika folder tujuan sudah ada, itu akan membuat jalur sumber di dalam folder tujuan daripada menimpa (testdir/testdir
)Jawaban:
Seperti yang dikatakan sebelumnya, scp dengan senang hati menimpa file apa pun yang sudah ada.
Masalah "file ada" hanya dapat terjadi ketika Anda memiliki beberapa proses lain (seperti proses bersamaan scp, atau yang lain) menulis folder dan file ke tujuan yang sama. Pertimbangkan untuk menggunakan rsync sebagai gantinya.
sumber
Seperti Levans, saya tidak dapat meniru ini, tetapi apakah Anda sudah mempertimbangkan untuk menggunakan rsync daripada ssh? Jika Anda menyalin banyak file, rsync mungkin merupakan opsi yang lebih baik daripada scp. Ada sejumlah panduan bagus untuk online, seperti ini:
http://troy.jdmz.net/rsync/index.html https://calomel.org/rsync_tips.html
Tautan pertama itu berkaitan dengan cadangan otomatis melalui cron, sehingga beberapa instruksi (seperti membuat kunci ssh tanpa frasa sandi) mungkin tidak relevan bagi Anda.
sumber
Anda akan menerima pesan kesalahan ini jika direktori tujuan sudah berisi file dengan nama yang sama dengan direktori sumber yang Anda coba transfer. Anda tidak dapat memiliki file dengan nama yang sama dengan direktori di direktori yang sama.
sumber