Hari ini, saya harus menginstal ulang server Ubuntu saya yang sering saya gunakan untuk menguji berbagai aplikasi. Server Ubuntu saya memiliki lebih dari 200 GB data, dan saya tidak ingin kehilangannya. Saya dapat mentransfer data tersebut melalui scp, atau mengatur NFS, FTP untuk menyalin file, tetapi saya cukup yakin akan memakan waktu berjam-jam untuk mentransfer file sebesar itu. Saat mencari metode alternatif, saya menemukan metode berikut. Kami dapat dengan cepat mentransfer file besar antara dua sistem melalui Jaringan menggunakan netcat , tar , dan pv perintah di sistem operasi mirip GNU/Linux dan Unix. Tidak seperti metode lain, saya merasa sangat cepat dan cepat. Bagi yang belum tahu, Netcat adalah utilitas Unix sederhana yang membaca dan menulis data melalui koneksi jaringan menggunakan protokol TCP atau UDP. tar adalah alat pengarsipan baris perintah, dan pv , singkatan dari pipe viewer, digunakan untuk memantau kemajuan data. Sekarang, izinkan saya menunjukkan kepada Anda cara mentransfer file besar dengan cepat antara dua sistem Linux. Ini tidak sesulit yang Anda pikirkan. Baca terus.
Unduh - eBuku Gratis:"6 Alat Baris Perintah Linux yang Berguna untuk Administrator Sistem"Mentransfer File Besar Dengan Cepat Melalui Jaringan Antara Dua Sistem Di GNU/Linux
Pastikan Anda telah menginstal utilitas "netcat" dan "pv" di sistem Anda. Jika belum diinstal, Anda dapat menginstalnya seperti yang ditunjukkan di bawah ini. Paket "tar" tersedia secara default di sebagian besar sistem Linux, jadi Anda tidak perlu menginstalnya.
Di Arch Linux dan turunannya:
$ sudo pacman -S netcat pv
Di RHEL, CentOS, Fedora:
$ sudo yum install epel-release
$ sudo yum install nc pv
Atau,
$ sudo dnf install nc pv
Di Debian, Ubuntu, Linux Mint:
$ sudo apt-get install netcat pv
Sekarang mari kita lihat cara cepat menyalin file besar di antara dua sistem.
Untuk melakukannya, jalankan perintah berikut sebagai root pengguna di node penerima (sistem tujuan):
# netcat -l -p 7000 | pv | tar x
Di simpul pengirim (sistem sumber), jalankan perintah ini sebagai root pengguna:
# tar cf - * | pv | netcat 192.168.1.105 7000
Di sini, 192.168.1.105 adalah sistem tujuan saya. tar cf - * akan menyalin semua yang ada di direktori kerja saat ini ke sistem tujuan, dan file akan diekstraksi di ujung yang lain.
Catatan: Pada RHEL, sistem CentOS, gunakan "nc" alih-alih "netcat" seperti yang ditunjukkan di bawah ini. Dan, Anda perlu menambahkan port "7000" ke iptables / firewall-cmd pada sistem target.
Setelah menambahkan port pada sistem target, Anda dapat mentransfer file yang lebih besar seperti yang ditunjukkan di bawah ini.
Pada sistem tujuan:
# nc -l -p 7000 | pv | tar x
Pada sistem sumber:
# tar cf - * | pv | nc 192.168.1.105 7000
Juga, Anda dapat menentukan file tertentu seperti di bawah ini.
# tar cf - /home/sk/test.file | pv | netcat 192.168.1.105 7000
Harap diperhatikan bahwa kedua sistem harus sudah menginstal netcat . Sekarang, ambil secangkir kopi. Anda akan melihat bahwa file akan disalin dengan sangat cepat daripada metode tradisional seperti scp.
Juga, Anda tidak akan melihat tanda-tanda penyelesaian transfer file di kedua sisi. Perintah-perintah ini akan terus berjalan sampai Anda menghentikannya secara manual. Anda perlu memeriksa ukuran file secara manual di kedua sistem menggunakan "du -h
Mentransfer File Besar dengan Cepat Antara Dua Sistem Di Unix
Pada sistem operasi Unix, netcat disebut sebagai nc. Jadi, untuk menyalin file besar antar sistem melalui jaringan, perintahnya adalah:
Pada sistem tujuan:
# nc -l 7000 | pv | tar -xpf -
Pada sistem sumber:
# tar -cf - * | pv | nc 192.168.1.105 7000
Sekali lagi, perintah ini harus dijalankan sebagai root pengguna. Dan, sistem sumber dan tujuan harus memiliki netcat dan pv terinstal. Mentransfer file besar melalui LAN menggunakan netcat dan tar memang dapat menghemat banyak waktu Anda.
Penafian: Harap diperhatikan bahwa tidak ada keamanan dalam metode ini . Karena, seperti yang Anda lihat pada contoh di atas, tidak ada otentikasi di kedua sisi. Yang perlu Anda ketahui adalah alamat IP sistem tujuan. Mentransfer file menggunakan netcat disarankan hanya di dalam jaringan yang dilindungi . Jika Anda paranoid tentang keamanan, saya sangat menyarankan Anda untuk menggunakan scp perintah.
Jika keamanan Anda sangat penting bagi Anda, Anda dapat menggunakan Rsync untuk mentransfer file dengan aman.
$ rsync -ravz /path/to/source/files/ destination-ip:/path/on/destiny
Terima kasih:Ppnman
Itu dia. Apakah Anda tahu cara lain untuk menyalin file besar dengan cepat? Silakan bagikan di bagian komentar di bawah.