Bayangkan skenario ini. Anda menyalin beberapa file besar dari satu sistem ke sistem lain melalui SSH menggunakan scp
memerintah. Tiba-tiba listrik padam, sehingga koneksi jaringan terputus dan proses penyalinan dihentikan di tengah jalan. Apa yang akan kamu lakukan? Mulai ulang proses penyalinan setelah listrik kembali online? Ya, itu berhasil. Namun, scp
perintah tidak memiliki opsi resume, jadi itu hanya akan mulai menyalin file dari awal dan menimpa file yang ada. Ini adalah tugas yang sedikit mengganggu dan memakan waktu. Di sinilah Rsync utilitas datang membantu! Kami dapat dengan mudah melanjutkan file yang ditransfer sebagian melalui SSH menggunakan Rsync. Ini membantu Anda untuk melanjutkan proses penyalinan atau pengunduhan yang terputus di mana Anda tinggalkan.
Apa itu Rsync?
Bagi mereka yang bertanya-tanya, Rsync adalah utilitas penyalinan file yang cepat dan serbaguna yang dapat digunakan untuk menyalin dan mentransfer file atau folder ke dan dari sistem jarak jauh dan lokal. Ini menawarkan sejumlah besar opsi yang mengontrol setiap aspek perilakunya dan memungkinkan spesifikasi kumpulan file yang sangat fleksibel untuk disalin. Ini terkenal dengan algoritme transfer delta , yang mengurangi jumlah data yang dikirim melalui jaringan dengan hanya mengirimkan perbedaan antara file sumber dan file yang ada di tujuan. Rsync banyak digunakan untuk pencadangan dan pencerminan serta sebagai perintah penyalinan yang ditingkatkan untuk penggunaan sehari-hari.
Sama seperti scp
, rsync juga dapat menyalin file melalui SSH. Jika Anda ingin mengunduh atau mentransfer file dan folder berukuran besar melalui SSH, saya sarankan Anda menggunakan utilitas rsync seperti yang dijelaskan di bawah ini.
Instal Rsync di Linux
Harap utilitas rsync harus dipasang di kedua sisi (yaitu sistem jarak jauh dan lokal) untuk melanjutkan file yang ditransfer sebagian. Rsync tersedia di repositori resmi sebagian besar distribusi Linux, sehingga Anda dapat menginstalnya menggunakan manajer paket default distribusi.
Di Linux Alpen , kita dapat menginstal Rsync seperti di bawah ini:
$ sudo apk add rsync
Di Linux Arch dan variannya, instal Rsync menggunakan perintah:
$ sudo pacman -S rsync
Di Debian , Ubuntu , Linux Mint :
$ sudo apt-get install rsync
Di Fedora , RHEL , CentOS , AlmaLinux dan Linux Rocky :
$ sudo dnf install rsync
Di SUSE/openSUSE :
$ sudo zypper install rsync
Lanjutkan sebagian file yang ditransfer menggunakan Rsync
Sekarang mari kita lihat sebuah contoh. Saya akan menyalin file ISO Ubuntu dari sistem lokal saya ke sistem jarak jauh menggunakan perintah berikut:
$ scp ubuntu.iso [email protected]:/home/sk/
Di sini,
- sk adalah nama pengguna sistem jarak jauh saya
- 192.168.225.22 adalah alamat IP dari mesin jarak jauh.
/home/sk/
adalah tujuan jarak jauh.
Sekarang, saya menghentikan proses penyalinan secara paksa dengan menekan CTRL+C
.
Contoh keluaran:
[email protected]'s password: ubuntu-16.04-desktop-amd64.iso 26% 372MB 26.2MB/s 00:39 ETA^c
Seperti yang Anda lihat pada output di atas, saya menghentikan proses penyalinan ketika mencapai 33%.
Jika saya menjalankan kembali perintah di atas, itu hanya akan menimpa file yang ada. Dengan kata lain, proses penyalinan tidak akan dilanjutkan di tempat saya tinggalkan.
Untuk melanjutkan proses penyalinan untuk menyalin file ISO yang ditransfer sebagian, gunakan rsync perintah seperti yang ditunjukkan di bawah ini.
$ rsync -P -rsh=ssh ubuntu.iso [email protected]:/home/sk/
Contoh keluaran:
[email protected]'s password: sending incremental file list ubuntu.iso 834.00M 100% 14.81MB/s 0:00:56 (xfr#1, to-chk=0/1)
Lihat? Sekarang, proses penyalinan dilanjutkan di tempat yang kita tinggalkan sebelumnya.
Anda juga dapat menggunakan "--partial
" bukannya parameter "-P
" seperti di bawah ini.
$ rsync --partial -rsh=ssh ubuntu.iso [email protected]:/home/sk/
Di sini, parameter "--partial
" atau "-P
" memberi tahu perintah rsync untuk menyimpan file yang diunduh sebagian dan melanjutkan prosesnya.
Periksa apakah file benar-benar disalin atau tidak ke sistem jarak jauh menggunakan perintah:
$ ssh [email protected] ls -lh [email protected]'s password: total 835M -rw-rw-r-- 1 sk sk 834M Jul 26 2019 ubuntu.iso
Seperti yang Anda lihat pada output di atas, file Ubuntu.iso disalin ke sistem jarak jauh dan ukurannya adalah 835MB.
Atau, kita juga dapat menggunakan perintah berikut untuk melanjutkan file yang ditransfer sebagian melalui SSH.
$ rsync -avP ubuntu.iso [email protected]:/home/sk/
Atau,
$ rsync -av --partial ubuntu.iso [email protected]:/home/sk/
Itu dia. Anda sekarang tahu cara melanjutkan file yang dibatalkan, terputus, dan diunduh sebagian menggunakan perintah rsync. Seperti yang Anda lihat, itu tidak terlalu sulit. Jika rsync diinstal pada kedua sistem, kita dapat dengan mudah melanjutkan proses penyalinan file melalui SSH seperti yang dijelaskan di atas.
Bacaan yang disarankan:
- Contoh Perintah Linux Rsync Untuk Pemula
- Cara Melanjutkan File yang Diunduh Sebagian Menggunakan Wget
- Jalankan Perintah Pada Sistem Linux Jarak Jauh Melalui SSH