Saya menggunakan scp untuk menyalin direktori dari satu server jauh ke direktori baru (yaitu hanya mengubah nama) di server jauh lain seperti:
scp -prq server1:dir1 server2:dir2
Ini berfungsi dengan baik jika dir2 tidak ada pada server2, ia menciptakan direktori baru yang disebut dir2 yang berisi segalanya dari dir1 pada server1.
Masalahnya muncul ketika dir2 sudah ada di server2 (CATATAN: Saya tidak punya cara untuk mengetahui hal ini sebelumnya atau melakukan penghapusan pada dir2 di server2 sebelumnya) - yang terjadi adalah saya mendapatkan salinan dir1, disebut dir1, di dir2.
Saya yakin ada sesuatu yang mendasar yang saya lewatkan, tetapi sepertinya saya tidak bisa menyelesaikannya.
Setiap bantuan sangat dihargai!
Salam,
Giles
Oke, saya punya kurang dari 10 rep dan tidak bisa menunggu 8 jam jadi di sini adalah apa yang saya dapatkan:
Berikut ini skrip yang berfungsi untuk saya:
#!/bin/sh
echo "method 1"
scp -prq server1:dir1/* server2:dir2/ >/dev/null 2>&1
if [ "$?" -ne "0" ]; then
echo "failed ... trying method 2"
scp -prq server1:dir1 server2:dir2
fi
exit
Masih tidak yakin bagaimana melakukan ini dalam satu perintah atau bahkan jika memungkinkan.
Cheers @mindthemonkey, terkadang hanya mendapatkan sudut pandang baru dapat membantu menunjukkan jalannya.
cd dir2
.