Berikut struktur direktori:
/a/
/a/b/
/a/c/
Saya ingin menyalin semuanya, KECUALI untuk subdirektori / a / c /.
scp -rp myserver:/a . # this will copy everything
T: Bagaimana cara saya menentukan direktori yang tidak disertakan dalam perintah scp?
Jawaban:
Saya tidak berpikir Anda bisa, tetapi Anda bisa menggunakan rsync? Sesuatu seperti ini:
sumber
Saya pikir ini mungkin cara yang benar untuk melakukannya sehingga Anda masih menggunakan SSH, saya belum menemukan cara untuk melakukannya dengan scp - tetapi menggunakan rsync over ssh mungkin menyelesaikannya.
Jika Anda menggunakan -n switch maka itu akan membuat proses berjalan kering:
sumber
-rz
:-e "ssh -i private.pem" -rz 'users@server:/full/path/'
.Anda bisa menggunakan extended globbing seperti pada contoh di bawah ini:
sumber
Bukan cara yang sempurna untuk melakukannya, tetapi atur sub-direktori yang ingin Anda kecualikan sebagai hanya-baca.
chmod -R 444 /a/c
harus melakukan trik. Anda akan mendapatkan kesalahan "izin ditolak" ketika mencoba untuk menulis lebih dari direktori itu.sumber