Bagaimana cara menyalin folder dari remote ke host lokal menggunakan scp?
Saya gunakan sshuntuk masuk ke server saya.
Kemudian, saya ingin menyalin folder jarak jauh fooke lokal /home/user/Desktop.
Bagaimana saya mencapai ini?
Bagaimana cara menyalin folder dari remote ke host lokal menggunakan scp?
Saya gunakan sshuntuk masuk ke server saya.
Kemudian, saya ingin menyalin folder jarak jauh fooke lokal /home/user/Desktop.
Bagaimana saya mencapai ini?
Jawaban:
scp -r user@your.server.example.com:/path/to/foo /home/user/Desktop/
Dengan tidak menyertakan trailing '/' di akhir foo, Anda akan memindahkan direktori itu sendiri (termasuk konten), daripada hanya isi direktori.
Dari man scp(Lihat manual online )
-r Salin seluruh direktori secara rekursif
-Cbendera menambah kompresi dan -cbendera memungkinkan Anda memasukkan tipe sandi lain untuk kinerja yang lebih baik, seperti yang scp -c blowfish a@b:something . terlihat dalam jawaban dimuthu
Desktop/fooatau akankah Anda memiliki Desktop/allcontentsofFooGoherescp yang tampaknya bertingkah aneh kadang-kadang bagi saya itu melakukan satu dan lain hal
scp -r user@your.server.example.com:/path/to/foo /home/user/Desktop/Anda harus berakhir dengan Desktop/foo. Dengan scp -r user@your.server.example.com:/path/to/foo/. /home/user/Desktop/ Anda akan berakhir dengan isi foodi Desktopdan semua sub-dirs dari foobertebaran di bawahDesktop
Untuk menggunakan kekuatan penuh scp Anda harus melalui langkah-langkah selanjutnya:
Kemudian, misalnya jika Anda memiliki ~ / .ssh / config ini :
Host test
User testuser
HostName test-site.com
Port 22022
Host prod
User produser
HostName production-site.com
Port 22022
Anda akan menyelamatkan diri dari entri kata sandi dan menyederhanakan sintaks scp seperti ini:
scp -r prod:/path/foo /home/user/Desktop # copy to local
scp -r prod:/path/foo test:/tmp # copy from remote prod to remote test
Terlebih lagi, Anda akan dapat menggunakan penyelesaian jalur jarak jauh:
scp test:/var/log/ # press tab twice
Display all 151 possibilities? (y or n)
Memperbarui:
Untuk mengaktifkan penyelesaian-bash jarak jauh, Anda perlu memiliki bash-shell di kedua <source>dan <target>host, dan penyelesaian-bash yang berfungsi dengan baik. Untuk informasi lebih lanjut, lihat pertanyaan terkait:
Bagaimana mengaktifkan pelengkapan otomatis untuk jalur jauh saat menggunakan scp?
Penyelesaian tab nama file SCP
Untuk menyalin semua dari Lokasi Lokal ke Lokasi Jarak Jauh (Unggah)
scp -r /path/from/destination username@hostname:/path/to/destination
Untuk menyalin semua dari Lokasi Jarak Jauh ke Lokasi Lokal (Unduh)
scp -r username@hostname:/path/from/destination /path/to/destination
Kustom Pelabuhan mana xxxxadalah pelabuhan kustom nomor
scp -r -P xxxx username@hostname:/path/from/destination /path/to/destination
Salin pada direktori saat ini dari Remote ke Lokal
scp -r username@hostname:/path/from/file .
Tolong:
-r Salin semua direktori dan file secara rekursif/, Dapatkan lokasi lengkap olehpwdscp akan mengganti semua file yang adahostname akan menjadi nama host atau alamat IP-P portnumberCatatan: Terkadang port khusus tidak akan berfungsi karena port tidak diizinkan di firewall, jadi pastikan port custom diizinkan di firewall untuk koneksi masuk dan keluar
pwduntuk mendapatkan lokasi dan menggunakan yang sama
Yang selalu saya gunakan adalah:
scp -r username@IP:/path/to/server/source/folder/ .
. (titik) : artinya current folder. jadi salin dari server dan tempel di sini saja.
IP : bisa berupa alamat IP 125.55.41.311atau bisa berupa host ns1.mysite.com.
.merujuk ke direktori saat ini!
Lebih baik mengompres katalog di server jauh:
tar czfP backup.tar.gz /path/to/catalog
Kedua, unduh dari jarak jauh:
scp user@your.server.example.com:/path/to/backup.tar.gz .
Pada akhirnya, ekstrak file:
tar -xzvf backup.tar.gz
-Cflag, seperti scp -C a@b:bigfile ..
Dan jika Anda memiliki satu file yang sangat besar untuk diunduh dari lokasi yang jauh dan jika Anda tidak terlalu peduli dengan keamanan, coba ubah enkripsi default scp (Triple-DES) menjadi sesuatu seperti 'blowfish'.
Ini akan mengurangi waktu penyalinan file secara drastis.
scp -c blowfish -r user@your.server.example.com:/path/to/foo /home/user/Desktop/
arcfourmenggantikan blowfish, tetapi memiliki kelemahan keamanan.
Skenario khas,
scp -r -P port username@ip:/path-to-folder .
dijelaskan dengan sampel,
scp -r -P 27000 abc@10.70.12.12:/tmp/hotel_dump .
dimana,
port = 27000
username = "abc" , remote server username
path-to-folder = tmp/hotel_dump
. = current local directory
Pertanyaannya adalah bagaimana cara menyalin folder dari jarak jauh ke lokal dengan scpperintah.
$ scp -r userRemote@remoteIp:/path/remoteDir /path/localDir
Tapi di sini adalah cara yang lebih baik untuk melakukannya dengan sftp- SSH File Transfer Protocol (juga Secure File Transfer Protocol, atau SFTP) adalah protokol jaringan yang menyediakan akses file, transfer file, dan manajemen file melalui aliran data yang andal. (Wikipedia).
$ sftp user_remote@remote_ip
sftp> cd /path/to/remoteDir
sftp> get -r remoteDir
Fetching /path/to/remoteDir to localDir 100% 398 0.4KB/s 00:00
Untuk bantuan tentang sftpperintah cukup ketik helpatau ?.
Saya tidak tahu mengapa, tetapi saya harus menggunakan folder lokal sebelum direktif server sumber. untuk membuatnya bekerja
scp -r . root@888.888.888.888:/usr/share/nginx/www/example.org/
root@