Bisakah saya menghentikan pipa tar netcat dan melanjutkan nanti tanpa mengganti file yang ada?

1

Saya mencoba menyalin banyak file dari NAS saya ke server saya, sekitar 2TB.

Saya menemukan bahwa menggunakan netcat tarpipa untuk menyalin direktori berjalan cukup cepat, sekitar 40mb / s. Tampaknya bekerja lebih cepat daripada rsyncdan ssh, jadi saya lebih suka tetap menggunakan netcat tarpipa.

Inilah yang saya lakukan:

Pada penerima saya melakukan ini:

nc -l 7000 | pv | tar -xpf -

Dan pada akhir pengiriman saya melakukan ini:

tar -cf - * | pv | nc otherhost 7000 

Sekarang saya ingin menghentikan penyalinan dan melanjutkan nanti. Saya mencoba dengan direktori kecil untuk memulai kembali proses tetapi juga akan mengirim file yang sudah ada.

Apakah ada cara untuk mencegahnya mengirim file yang sudah ada di server?

redn0x
sumber

Jawaban:

0

Tidak secara otomatis, tetapi ketika Anda melanjutkan transfer nanti, Anda dapat mengecualikan file yang telah disalin dengan menggunakan daftar pengecualian tar. Lihat http://www.cyberciti.biz/faq/exclude-certain-files-when-creating-a-tarball-using-tar-command/

Bagaimana cara mengecualikan file zyz dan abc saat menggunakan perintah tar?

Versi GNU memiliki utilitas --excludedan -X opsi pengarsipan tar . Jadi untuk mengecualikan file abc dan xyz Anda perlu mengetik perintah sebagai berikut:

$ tar -zcvf /tmp/mybackup.tar.gz --exclude='abc' --exclude='xyz' /home/me

Jika Anda memiliki lebih dari 2 file gunakan opsi -X untuk menentukan beberapa nama file. Bunyinya daftar mengecualikan nama file dari file teks. Misalnya membuat file bernama exclude.txt:

$ vi exclude.txt

Tambahkan nama file:

abc 
xyz
*.bak

Simpan dan tutup file. Ini mencantumkan pola file yang perlu dikecualikan. Sekarang ketikkan perintah: $ tar -zcvf /tmp/mybackup.tar.gz -X exclude.txt /home/me

Jika file setengah ditransfer, dan Anda tidak ingin menimpanya lagi dengan tar, Anda dapat mengecualikannya, dan kemudian menggunakan alat lain untuk melanjutkan salinan. Saya akan merekomendasikan menggunakan rsync atau lftp untuk itu.

Daniel S. Sterling
sumber