Bagaimana cara memindahkan direktori dari satu server ke server lainnya?

10

Saya memiliki akses SSH ke kedua server, salah satunya kosong. Bagaimana saya bisa memindahkan direktori situs dari server lama ke server baru melalui koneksi SSH?

PS: Di kedua server adalah unix

ajile
sumber

Jawaban:

15

Favorit saya adalah rsync. Cukup pintar untuk menyalin hanya apa yang harus disalin (yaitu diubah atau baru).

rsync -avz /source/path user@desthost:/destination/path/

Perhatikan final /di akhir untuk meminta rsync untuk menyalin di dalam jalur itu (bukan di atasnya).
rsyncmengurus mengelola koneksi ssh untuk Anda. Opsi avz(tipikal) meminta rsyncuntuk menggunakan mode arsip (tar), untuk menyalin secara rekursif, dan menyimpan sebanyak mungkin tanggal dan nilai pengguna. The vpilihan adalah verbose untuk menunjukkan apa yang saat ini terjadi. The zpilihan akan zip (kompres) transfer ke mudah-mudahan menghemat waktu dan bandwidth.

rsync sangat kuat dan digunakan oleh sebagian besar profesional, namun Anda mungkin ingin mengujinya terlebih dahulu menggunakan data yang tidak berharga untuk memastikan jalur dan opsi sesuai dengan persyaratan.

Jika Anda perlu menggunakan rsync melalui SSH pada port non-standar seperti 2222, Anda dapat menggunakan perintah berikut ( lihat artikel ini ):

rsync -avz -e 'ssh -p 2222' /source/path user@desthost:/destination/path/
Dering Ø
sumber
Saya pikir rsync adalah solusi yang lebih baik daripada ssh untuk alasan yang diberikan ring0, yaitu hanya menyalin apa yang perlu disalin. Jadi jika Anda perlu melakukan ini lebih dari sekali rsync akan memberi Anda keuntungan lebih dari straight scp.
Jason Tan
1
rsync jelas merupakan alat. Tetapi tentang trailing slash: ini penting untuk sumbernya bukan untuk tujuan: rsync -a / src / / dest menyalin semua di bawah src di dest, rsync -a / src / dest menyalin src dan semuanya di bawahnya ke dest / src / .
Oscar
0

Anda sedang mencari pipa tar .

Ignacio Vazquez-Abrams
sumber