Android

Cara mentransfer file dengan rsync melalui ssh

copy file aman/mudah/cepat antar server/client dengan SCP (Secure Copy)

copy file aman/mudah/cepat antar server/client dengan SCP (Secure Copy)

Daftar Isi:

Anonim

Ketika datang untuk mentransfer file antar sistem di jaringan, pengguna Linux dan Unix memiliki banyak alat yang dapat mereka gunakan.

Protokol yang paling populer untuk transfer data yang SSH dan FTP. Sementara FTP sangat populer, selalu lebih suka menggunakan SSH karena merupakan cara yang paling aman untuk mentransfer file Anda.

Ada alat khusus untuk transfer file melalui SSH seperti scp dan sftp tetapi tidak satupun dari mereka memiliki semua fitur yang disediakan rsync . rsync dapat digunakan untuk mirroring data, incremental backups, menyalin file antar sistem dan sebagainya.

Dalam tutorial ini, kami akan menjelaskan bagaimana untuk menyalin file dengan rsync lebih SSH.

Persyaratan

  • The rsync utilitas harus diinstal pada kedua tujuan dan sistem sumber. Jika tidak terinstal, anda dapat menginstalnya menggunakan manajer paket distribusi Anda:

    Ubuntu dan Debian:

    sudo apt install rsync

    CentOS dan Fedora:

    sudo yum install rsync

    Akses SSH ke komputer jarak jauh.

    Pengguna menjalankan rsync perintah dan pengguna SSH jarak jauh harus memiliki izin yang sesuai untuk membaca dan file write.

Menggunakan rsync untuk mentransfer file melalui SSH

Dengan rsync , Anda dapat mentransfer file dan direktori lebih SSH dari dan ke server remote.

Sintaks umum untuk mentransfer file dengan rsync adalah sebagai berikut:

Local to Remote: rsync… -e ssh… HOST:DEST Remote to Local: rsync… -e ssh HOST:SRC…

Dimana SRC adalah direktori source, DEST adalah direktori tujuan USER adalah nama SSH terpencil dan HOST adalah tuan rumah SSH jarak jauh atau IP Address.

Versi yang lebih baru dari rsync dikonfigurasi untuk menggunakan SSH sebagai default shell terpencil sehingga Anda dapat menghilangkan -e ssh pilihan.

Misalnya, untuk mentransfer satu file /opt/file.zip dari sistem lokal ke direktori /var/www/ pada sistem jarak jauh dengan IP 12.12.12.12 Anda akan menjalankan:

rsync -a /opt/file.zip [email protected]:/var/www/

Opsi -a adalah singkatan dari mode arsip yang akan menyinkronkan direktori secara rekursif, mentransfer perangkat khusus dan memblokir, mempertahankan tautan simbolik, waktu modifikasi, grup, kepemilikan, dan izin.

Jika file ada pada remote server akan ditimpa. Jika Anda ingin menyimpan file dengan nama yang berbeda, menentukan nama baru:

rsync -a /opt/file.zip [email protected]:/var/www/file2.zip

Untuk mentransfer data dari remote ke mesin lokal, gunakan lokasi terpencil sebagai sumber dan lokasi setempat sebagai tujuan:

rsync -a [email protected]:/var/www/file.zip /opt/

Mentransfer direktori dengan rsync lebih SSH sama seperti mentransfer file.

Hal ini penting untuk mengetahui bahwa rsync memberikan perlakuan yang berbeda ke direktori sumber dengan trailing slash / . Ketika direktori source memiliki garis miring, rsync akan menyalin hanya isi dari direktori sumber ke direktori tujuan. Ketika garis miring trailing dihilangkan direktori sumber akan disalin dalam direktori tujuan.

Misalnya untuk mentransfer lokal /opt/website/images/ direktori ke /var/www/images/ direktori pada mesin remote Anda akan ketik:

rsync -a /home/linuxize/images/ [email protected]:/var/www/images/

Gunakan --delete pilihan jika Anda ingin menyinkronkan direktori lokal dan remote. Hati-hati saat menggunakan opsi ini karena akan menghapus file dalam direktori tujuan jika mereka tidak ada di direktori source.

rsync -a --delete /home/linuxize/images/ [email protected]:/var/www/images/

Jika SSH pada remote host mendengarkan pada port selain default 22 , menentukan port menggunakan -e pilihan. Misalnya, jika SSH mendengarkan pada port 3322 Anda akan menggunakan:

rsync -a -e "ssh -p 3322" /home/linuxize/images/ [email protected]:/var/www/images/

Saat mentransfer data dalam jumlah besar, disarankan untuk menjalankan perintah rsync di dalam sesi layar atau menggunakan opsi -P yang memberi tahu rsync untuk menampilkan bilah progres selama transfer dan menyimpan file yang sebagian ditransfer:

rsync -a -P /home/linuxize/images/ [email protected]:/var/www/images/

Kesimpulan

Kami telah menunjukkan Anda bagaimana menggunakan rsync lebih SSH untuk menyalin dan file sinkronisasi dan direktori.

Anda juga mungkin ingin membaca cara mengecualikan file atau direktori dengan rsync .

Jangan ragu untuk meninggalkan komentar jika Anda memiliki pertanyaan.

terminal rsync