GNU/Linux >> Belajar Linux >  >> Linux

Cara Cepat Mentransfer File Besar Melalui Jaringan Di Linux Dan Unix

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 netcattar , 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 " memerintah. Jika ukuran file di sistem tujuan sama dengan di sistem sumber, maka Anda dapat menganggap proses transfer file selesai dan keluar dari perintah dengan menekan CTRL+C .

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.


Linux
  1. Cara Menemukan file besar linux dengan perintah find dan du

  2. Cara Mengarsipkan dan Mengompresi File di Linux

  3. Cara Mentransfer File di Linux dengan SCP dan Rsync

  1. Cara Mengonfigurasi Server SAMBA Dan Mentransfer File Antara Linux &Windows

  2. Cara Mentransfer File Antar Server di Linux menggunakan SCP dan FTP

  3. Linux – Direktori Standar Dan/atau Umum Pada OS Unix/linux?

  1. Cara Mentransfer File Antara Dua Komputer menggunakan Perintah nc dan pv

  2. Cara Menggunakan Netcat untuk Mentransfer File di Linux

  3. Bagaimana Cara Menyalin File di Linux dan Unix? Contoh Perintah 10 cp