Perintah salin Unix yang memiliki bilah kemajuan, tetapi tidak seberat rsync

14

Saya perlu menyalin banyak file. Biasanya saya menggunakan rsync karena saya memberikan -aPopsi dan saya bisa melihat (a) berapa banyak file yang tersisa untuk diproses dan (b) berapa banyak masing-masing file individu disalin.

Namun rsync juga melakukan banyak hal dengan checksum untuk memverifikasi bahwa file telah disalin. Namun saya tidak benar-benar membutuhkannya sekarang. Tetapi normal cptidak termasuk jumlah file yang disebutkan di atas yang tersisa, yang sangat membantu.

Apakah ada yang seperti cpitu termasuk kemajuan berapa banyak file yang tersisa, tetapi tidak seberat ini rsync?

Rory
sumber

Jawaban:

21

Anda dapat menjalankan rsync dengan sakelar -W, yang akan menonaktifkan checksum.

Stefan Wolff
sumber
6

Jadi, apakah ini alias yang sesuai untuk saran Anda?

cp_p() {
    rsync -WavP $1 $2
}

-Apakah -tidak menggunakan algoritma transfer delta
-a mode arsip
-v verbose
-P tampilkan progress bar dan simpan sebagian file

alternatif lain yang saya temukan di beberapa tempat . membutuhkan paket pv (pipeviewer).

cp_pv() {
    pv -per $1 > $2
}

-p tampilkan progres
-e tunjukkan eta
-r tunjukkan laju
-n tunjukkan keluaran numerik

/ edit Saya sekarang telah menguji alias di atas dan dapat mengonfirmasi mereka berfungsi. Ada beberapa kesalahan ketik sebelumnya

Vijay
sumber
Ini tampaknya hanya mendukung menyalin satu file ke file bernama daripada direktori. Bagaimana jika saya ingin menyalin banyak file? Atau direktori?
einpoklum
Yah ini hanya alias, jadi Anda bisa bereksperimen dengan perintah mentah yang sebenarnya di dalam untuk melihat apa yang bekerja untuk Anda. Saya yakin rsync mendukung direktori dan penunjukan jalur lainnya. Anda dapat dengan mudah menyesuaikan alias untuk membuatnya berfungsi untuk situasi spesifik Anda. Berbagilah jika Anda membuatnya berfungsi. IIRC Saya telah menggunakannya dengan direktori sebelumnya tanpa masalah.
Vijay
3

Anda bisa saja menampar opsi -v pada cmp cp atau menggunakan scp ke localhost

egorgry
sumber
-v adalah awal yang baik, dan ini cukup membantu, tapi saya ingin info lebih lanjut tentang berapa banyak file yang tersisa / telah disalin / etc
Rory
2
Maka Anda ingin solusi Stefan Wolff.
egorgry
1

Terlalu berlebihan dengan overhead enkripsi, tetapi Anda dapat menggunakan scpsecara lokal:

scp <file-from> <file-to>

Ini akan menampilkan progres saat menyalin.

warren
sumber
Atleast di OSX, scptidak menampilkan bilah progres apa pun secara default seperti yang digunakan di cpbawah tenda ketika file lokal terlibat.
Srid berkata Reinstate Monica
1

gcpadalah alat yang bagus. Di sini Anda memiliki paket PyPI , tetapi ini juga dapat ditemukan di paket distro (misalnya di debian / ubuntu apt-get install gcp melakukan pekerjaan).

Ada juga artikel tutorial yang bagus tentang gcp .

$ gcp -r Solaar / solaar2

Menyalin 7,53 MiB 100% | ############################ | 134,92 M / s Waktu: 00:00:00
spinus
sumber