วิธีที่ดีที่สุดที่จะหยุดการย้าย (mv) โดยรวมไดเรกทอรี?


18

ฉันย้าย (mv) เป็นไดเรกทอรีที่ค่อนข้างใหญ่ใน NAS ของฉัน (ใช้ Linux) แต่ต้องขัดจังหวะกระบวนการ ไม่ใช่ผู้ใช้ Linux ทั่วไป แต่ฉันสามารถดำเนินการต่อและรวมที่เหลือในภายหลัง

mv /oldisk/a /newdisk

ขั้นตอนเสร็จสิ้นครึ่งทางดังนั้นส่วนที่เหลือของ / oldisk / a ยังคงอยู่และ / newdisk / a ที่มีไฟล์ที่คัดลอกแล้วมีอยู่แล้ว ฉันไม่รู้ว่าไฟล์ใดถูกคัดลอกไปแล้ว BTW ภายใต้ / oldisk / a แน่นอนว่ามีไดเรกทอรีย่อยมากมาย

อะไรจะเป็นวิธีที่ดีที่สุดในการย้าย / รวมไฟล์ที่เหลือไปยัง / newdisk / a

คำตอบ:


28

rsync --verbose --archive --dry-run /oldisk/a/ /newdisk/a/

The --dry-run(หรือ-n) จะทำแบบแห้งแสดงให้คุณเห็นว่ามันจะทำอะไรโดยไม่ทำอะไรเลย

ถ้ามันดูโอเคให้เรียกใช้ rsync โดยไม่มี-nตัวเลือก

นี่จะเป็นการคัดลอกไม่ใช่การย้ายซึ่งไม่ใช่สิ่งที่คุณกำลังทำ แต่ปลอดภัยกว่า --archive(หรือ-a) เพื่อให้แน่ใจว่าเป็นเจ้าของทั้งหมดและ timestamps เมตาดาต้าที่ถูกเก็บรักษาไว้ (ซึ่งสำเนาปกติจะไม่ได้)


2
การคัดลอกก็โอเคสามารถลบไดเรกทอรีเก่าได้ในภายหลัง
Horst Walter

4
คุณสามารถใช้--remove-source-filesเพื่อลบไฟล์ที่คัดลอกได้สำเร็จ นอกจากนี้-Pหรือ--progressจะแสดงการประมาณการของวิธีการอื่น ๆ อีกมากมายมีไฟล์ที่จะทำ
deltab

1
เพื่อให้เป็นตัวอย่างของการย้าย:rsync --remove-source-files --recursive --times --crtimes 1/* 2/
Sridhar Sarnobat

1
@deltab --progress ดึงแถบใหม่สำหรับแต่ละไฟล์แทนมี --info = progress2 สำหรับการโอนทั้งหมด
把友情留在无盐

ว้าวนั่นมันค่อนข้างน่าเศร้า Mv เสียแล้วแน่นอนว่ามันต้องใช้เครื่องมืออื่น ๆ ในการทำในสิ่งที่ควรทำด้วยตัวเอง ฉันเพิ่งพบสิ่งนี้ mv ปฏิเสธที่จะเขียนลงในไดเรกทอรีที่มีอยู่ซึ่งเป็นที่น่าสมเพชสวย ได้เวลาแทนที่คำสั่งนี้ด้วยบางสิ่งที่ใช้งานได้มากกว่า
nigratruo
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.