Saya menggunakan scp untuk menyalin barang ke lokasi yang jauh. Tapi kadang-kadang scp tidak berfungsi seperti yang diharapkan, saya menemukan bahwa kadang-kadang salinan tidak lengkap dengan benar (mungkin ketika saya telah menambahkan file baru ke folder yang saya salin).
Jadi saya ingin menghapus folder jauh terlebih dahulu dan kemudian melakukan copy untuk memastikan bahwa saya memiliki apa yang saya butuhkan.
Apakah ada perintah lain seperti scp (mis. Srm atau smv)? Atau adakah cara untuk menghapus folder dan file jarak jauh?
ssh you@host bash -c "command1;command2;command3; commandN"
.Rsync akan menyalin seluruh path / tree dan memeriksa file yang sudah ada di tempat tujuan dan tidak repot-repot menyalinnya jika tidak diubah. Jika Anda menggunakan opsi --delete, itu akan menghapus semua file yang ada di tujuan yang tidak lagi di sumbernya. Ia bekerja lebih dari ssh
sumber
rsync -avz -e shh root@location:/path/to/dest /path/from/host
Tapi gagal setelah saya memasukkan kata sandish: rsync: not found
. Apakah itu berarti rsync harus ada pada remote pc? Terima kasih!Jika server SSH jauh Anda mendukung subsistem SFTP (kebanyakan melakukannya, kecuali jika dinonaktifkan secara eksplisit), Anda dapat menggunakan
sftp
shell (atau klien SFTP lainnya ) untuk memanipulasi file dan direktori pada server jauh.Sayangnya, satu hal yang tidak ditangani oleh
sftp
shell dasar adalah penghapusan direktori rekursif; untuk menghapus direktori, Anda harus menghapus semua isinya terlebih dahulu. Sebagian besar klien lain (terutama yang grafis) biasanya mendukungnya.(Anda tidak menyebutkan apa OS lokal Anda, tetapi jika itu Linux, Anda dapat menggunakan file manager asli Anda sebagai klien GUI SFTP dengan mengarahkannya ke URL seperti sftp: // user @ host / path /. Untuk Windows, WinSCP adalah klien yang layak, dan FileZilla adalah solusi lintas platform yang baik.)
sumber
Untuk mengosongkan direktori jarak jauh (/ lokal), gunakan rsync seperti ini:
Hati-hati - ini menghapus semua yang ada di bawah tujuan yang ditentukan!
sumber
ssh server rsync --version
ataussh -v server rsync --version
menemukan alasannya.Sebagai alternatif, memasang direktori jarak jauh di direktori lokal, kemudian menghapusnya dengan
rm -r /path_to_directory_to_remove
dan akhirnya membuat direktori umount berhasil.Jawaban asli di sini: /programming//a/24650511/973919
sumber