แถบความคืบหน้าสำหรับคำสั่ง scp


92

มีวิธีใดบ้างที่จะแสดงแถบความคืบหน้าขณะทำการคัดลอกจากเซิร์ฟเวอร์ไปยังโลคอล (หรือกลับกัน) โดยใช้scp?


ตอนนี้ฉันได้รับเปอร์เซ็นต์ แต่ฉันต้องการแถบความคืบหน้า
อับดุลชาจิน

มีสคริปต์อยู่รอบ ๆ แต่ฉันไม่รู้ว่าจะทำยังไงให้ได้
Uri Herrera

1
คุณอาจสามารถแก้ไขสคริปต์นี้สำหรับแถบความคืบหน้าสำหรับ 'cp'`: chris-lamb.co.uk/2008/01/24/…
Rinzwind

scp -r ไม่แสดงแถบความคืบหน้า แต่ให้เปอร์เซ็นต์ของไฟล์แต่ละไฟล์
spyderman4g63

คำตอบ:


92

scpฉันไม่คิดว่าเรื่องนี้สามารถทำได้ด้วย ครั้งสุดท้ายที่ฉันต้องการอะไรเช่นนี้คือความคืบหน้าแสดงให้เห็นฉันใช้rsyncแทน มันแสดงให้เห็นถึงความคืบหน้าในลักษณะเหมือนบาร์ ดูว่าเหมาะกับคุณหรือไม่

คุณจะต้องใช้ตัวเลือกในการ--progress rsyncคุณสามารถใช้คำสั่งต่อไปนี้:

rsync -r -v --progress -e ssh user@remote-system:/address/to/remote/file /home/user/

1
ฉันจะโพสต์สิ่งที่คล้ายกัน แต่เมื่อฉันทดสอบฉันเพิ่งได้รับ2741851 0% 700.39kB/s 0:17:21และไม่มีแถบความคืบหน้าแบบกราฟิก (สิ่งที่ฉันคิดว่า OP ต้องการ)
Oli

1
@Oli: ฉันคิดว่าเป็นเพราะคุณกำลังคัดลอกไฟล์ขนาดเล็กมาก การคัดลอกสิ้นสุดก่อน rsync สามารถแสดงความคืบหน้า หากคุณคัดลอกไฟล์ที่ใหญ่กว่าคุณควรได้รับแถบความคืบหน้า
binW

1
สำหรับใครที่กำลังมองหา cp ด้วยแถบความคืบหน้า rsync ก็ใช้งานได้ดีในพื้นที่ดังนั้นคำตอบนี้ก็เช่นกัน! (เพียงแค่ละไว้-e ssh user@remote-system:สำหรับสำเนาในท้องที่และman rsyncอธิบายตัวเลือกมากมายและมากมาย)
ปราชญ์

1
หากคุณต้องการเชื่อมต่อกับพอร์ต SSH อื่นที่ไม่ใช่ค่าเริ่มต้นคุณสามารถใช้สิ่งที่ต้องการrsync -avz --progress -e 'ssh -p 1223' root@google.com:/foobar.txt ./my-local-copy.txt
damd

4
ทำไมต้องใช้rsync ในขณะที่คุณต้องการเพิ่ม-vในscp
Samir Sabri

64

-vสวิทช์ปรับการทำงาน

ตัวอย่าง:

5% 9232KB 357.5KB / s 07:48 ETA


6
นั่นเป็นคำตอบที่ถูกต้อง
int_32

นั่นควรเป็นคำตอบที่ถูกต้อง! ทำไมต้องกังวลและติดตั้ง rsync
Samir Sabri

3
-3มันไม่ได้ดูเหมือนจะทำงานเมื่อใช้
fuero

1
@fuero man scp: " -3คัดลอกระหว่างโฮสต์ระยะไกลสองเครื่องจะถูกถ่ายโอนผ่านโลคัลโฮสต์หากไม่มีตัวเลือกนี้ข้อมูลจะถูกคัดลอกโดยตรงระหว่างโฮสต์ระยะไกลสองเครื่องโปรดทราบว่าตัวเลือกนี้จะปิดใช้งานมิเตอร์วัดความคืบหน้า "
Guy with The Hat

4

ฉันไม่รู้วิธีการทำสิ่งนี้ในบรรทัดคำสั่ง ฉันแน่ใจว่าเป็นไปได้ แต่มีวิธีกราฟิกในการทำเช่นนี้

Nautilus (เบราว์เซอร์ไฟล์เริ่มต้นใน Ubuntu) สามารถเมานท์เซิร์ฟเวอร์ ssh / sftp พวกมันทำหน้าที่เหมือนระบบไฟล์โลคัลหลังจากนั้นและคุณสามารถคัดลอกไฟล์ไปมาได้ตามปกติ และคุณจะได้รับแถบความคืบหน้าตามปกติที่คุณต้องการพร้อมกับสำเนาปกติ

ดูใต้FileเมนูสำหรับConnect to server...


4

ตั้งแต่ปีพ. ศ. 2561 ความคืบหน้าและ ETA จะแสดงตามค่าเริ่มต้นและอาจถูกปิดใช้งานโดย -q


ไม่ได้อยู่บน macos ฮ่า ๆ !
Drachenfels

ด้วยสิ่งนี้คุณหมายถึงความก้าวหน้าโดยรวมหรือบนพื้นฐานต่อไฟล์หรือไม่ ฉันเห็นมันแบบต่อไฟล์ใน Debian 9 ที่เพิ่งติดตั้งใหม่ของฉัน
mazunki
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.