ฆ่า rsync เบา ๆ


4

มีวิธีบอกไหม rsync หยุดทุกครั้งที่ทำได้ด้วยวิธีที่สะอาด สองตัวเลือก:

  • บอก rsync เพื่อหยุดการถ่ายโอนไฟล์ปัจจุบันทำความสะอาดไฟล์ชั่วคราวและออกจาก;
  • หรือปล่อยให้ rsync สิ้นสุดการถ่ายโอนไฟล์ปัจจุบันแล้วหยุด

จากการทำ Ctrl + C มันหยุด กลางการถ่ายโอน และปล่อยไฟล์ชั่วคราวไว้ที่นั่นใช่ไหม

แก้ไข

แม้ว่าจะใช้ --inplace? การกระทำที่ดีที่สุดคืออะไร ฉันกำลังใช้ rsync กับ --inplace และฉันต้องไปอย่างรวดเร็วฉันจะพูดว่า“ อาจจบด้วยไฟล์นี้แล้วออกหรือออกตอนนี้ แต่ทำความสะอาดไฟล์ที่คุณคัดลอกเพื่อที่คุณจะไม่ทิ้งสิ่งที่เสียหาย (ฉันไม่สนใจว่ามันจะถูกลบหรือไม่ ฉันสามารถสำรองข้อมูลอีกครั้งในภายหลัง)” หรืออะไรทำนองนั้น


1
หัวข้อคำถามที่ดีที่สุด 2k16
c0deous

คำตอบ:


4

หากคุณฆ่า rsync ด้วย CTRL + C มันหยุดการถ่ายโอนกลาง แต่มันจะไม่เก็บไฟล์ชั่วคราวไว้ที่นั่นเว้นแต่จะทำงานกับ --partial ตัวเลือก

สำหรับผู้ที่สนใจเพียงแค่หยุด rsync ถ้าคุณกด Ctrl + Z มันหยุดโปรแกรมชั่วคราว เมื่อคุณกลับมาทำงานต่อโดยการทำงาน fg หรือ bg rsync จะย้ำไฟล์ที่ยังไม่เสร็จและดาวน์โหลดไฟล์ที่เหลือต่อไป หากต้องการดูโปรแกรมที่หยุดชั่วคราวทั้งหมดที่ทำงานอยู่ jobs

เกี่ยวกับ --inplace

ปัญหาเกี่ยวกับ --inplace คือมันไม่ได้สร้างไฟล์ใหม่เมื่ออัปเดตข้อมูลมันเพิ่งเขียนไปยังไฟล์ที่มีอยู่ หากคุณกด ctrl + c ขณะที่ทำงานด้วย --inplace และกำลังอัปเดตไฟล์ที่มีอยู่มันจะปล่อยไฟล์เสร็จครึ่งไฟล์โดยไม่ลบออก นอกจากนี้หากคุณทำการซิงค์เฉพาะไฟล์ใหม่และไม่อัปเดตไฟล์ที่มีอยู่แล้วเมื่อคุณตัดการถ่ายโอน (ด้วย ctrl + c) ไฟล์นั้นจะออกครึ่งไฟล์ที่เสร็จแล้วซึ่งจะไม่ลบออก เพียงแค่ทราบว่าฉันจะไม่แนะนำ - แทนที่สำหรับไฟล์ OS คุณสามารถแจ็คบางสิ่ง (เพราะพวกเขาเปลี่ยนบ่อย)


Okey ดังนั้น ctrl + C คือ แม่นยำ “ปล่อยให้ rsync ปิด” ใช่ไหม ฉันหมายความว่ามันจะไม่หยุดอย่างกระทันหันมันแค่ส่งข้อความถึง rsync “ ได้โปรดหยุดเดี๋ยวนี้” และ rsync จะหยุดการถ่ายโอนทำความสะอาดทุกสิ่งที่เขาทำแล้วออกไปเอง ในกรณีนี้มันสมบูรณ์แบบ กับ ctrl + Z ปัญหาคือฉันต้องการปิดเครื่องคอมพิวเตอร์เพราะฉันไป
Manuel

@Manuel ใช่ถูกต้อง ฉันสามารถแก้ไขคำตอบของฉันได้ไหมถ้าคุณจะทำเครื่องหมายว่าถูกต้อง?
c0deous

1
ดีที่ได้รู้ ctrl + C เป็นวิธีที่สะอาดในการหยุด
Manuel

เกี่ยวกับอะไร --inplaceสิ่งที่จะเป็นวิธีที่ดีที่สุดของการกระทำ? ฉันกำลังใช้ rsync กับ --inplace และฉันต้องไปอย่างรวดเร็วฉันจะพูดว่า“ อาจจบด้วยไฟล์นี้แล้วออกหรือออกตอนนี้ แต่ทำความสะอาดไฟล์ที่คุณคัดลอกดังนั้นคุณจะไม่ทิ้งสิ่งที่เสียหาย ฉันสามารถสำรองข้อมูลอีกครั้งในภายหลัง)”
Manuel

@Manuel ปัญหากับ --inplace คือมันไม่ได้สร้างไฟล์ใหม่เมื่ออัปเดตข้อมูลมันเพิ่งเขียนไปยังไฟล์ที่มีอยู่ หากกด ctrl + c ในขณะที่ทำงานด้วย --inplace และกำลังอัปเดตไฟล์ที่มีอยู่มันจะปล่อยไฟล์เสร็จครึ่งไฟล์ ไม่มี ลบมัน นอกจากนี้หากคุณซิงค์ไฟล์ใหม่เท่านั้นและไม่อัปเดตไฟล์ที่มีอยู่แล้วเมื่อคุณตัดการถ่ายโอน ctrl + c ) มันจะทิ้งไฟล์ที่เสร็จแล้วครึ่งหนึ่งซึ่งจะไม่ลบ ฉันทดสอบ btw ทั้งหมดนี้
c0deous
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.