Unison น่าเชื่อถือแค่ไหน? มันเคยทำลายข้อมูลของคุณหรือไม่ [ปิด]


17

ฉันสนใจข้อเท็จจริงเมื่อใช้พร้อมเพรียง ( http://www.cis.upenn.edu/~bcpierce/unison/ ) ทำลายข้อมูลของคุณหรือไม่ ฉันต้องการทราบเกี่ยวกับความน่าเชื่อถือของมัน

คำตอบ:


4

ฉันหยุดใช้ Unison เพราะ:

  • ไม่สามารถจัดการอักขระพิเศษและอักขระสากลในชื่อไฟล์ได้อย่างถูกต้อง ฉันคิดว่าไฟล์เหล่านี้ไม่ได้ถูกคัดลอก (แต่ฉันไม่แน่ใจเกี่ยวกับเรื่องนี้)
  • สำหรับ Mac GUI (ทางเลือก) ล้มเหลวบ่อยครั้งดังนั้นฉันจึงต้องเริ่มกระบวนการซิงค์ใหม่หลังจากการขัดข้องแต่ละครั้ง

3
ฉันไม่เคยมีปัญหากับตัวอักษรต่างประเทศในชื่อไฟล์กับ Unison ไม่ว่าจะใน Windows, Linux หรือ Mac หรือแม้แต่ในการซิงโครไนซ์ข้ามแพลตฟอร์มผ่าน ssh จริงๆแล้วฉันเริ่มใช้มันตั้งแต่แรกเพราะมันสามารถซิงโครไนซ์โฮสต์ Win และ Linux ได้อย่างถูกต้องเมื่อ rsync ยังทำไม่ได้
ttarchala

3
มีปัญหาที่ทราบเกี่ยวกับชื่อไฟล์ Cygwin และไม่ใช่ ASCII นี่ไม่ใช่ข้อผิดพลาดพร้อมเพรียงกัน
JeffP

ฉันใช้พร้อมเพรียงกับคลังเอกสารญี่ปุ่นจำนวนมาก ฉันไม่มีปัญหาแม้ว่าฉันจะมีปัญหาเมื่อหลายปีก่อน ฉันใช้ 2.48.3 ซึ่งมีอายุเพียงไม่กี่ปีและรองรับ Unicode อย่างสมบูรณ์
edwinbradford

23

ฉันใช้ Unison on and off ตั้งแต่ปี 2004 ในการตอบคำถามอื่นฉันให้ nod over rsync เป็นเครื่องมือสำหรับการสำรอง / ซิงค์ข้อมูลของคุณระหว่างเครื่อง

ตลอดเวลา Unison ไม่เคยทำลายข้อมูลของฉันในแง่ของการย่อยเอกสาร อย่างไรก็ตามมันจะแสดงความไวต่อเงื่อนไขของขอบเช่นไฟล์ที่ใช้สิทธิ์หรือปัญหาข้ามแพลตฟอร์ม คุณจะต้องระมัดระวังในการค้นคว้าสิ่งนี้หากคุณพบข้อผิดพลาดเมื่อทำการซิงโครไนซ์ไฟล์ของคุณกับ Unison บันทึกบันทึกของคุณ

สองสามสัปดาห์ที่ผ่านมาฉันตัดสินใจหยุดใช้ Unison และกลับไปที่ rsync เหตุผลหลัก:

  • ความพร้อมเพรียงไม่ได้รับการพัฒนาอีกต่อไปในขณะที่ rsync เป็น
  • พร้อมเพรียงช้ากว่า rsync ในการใช้งานจริงซึ่งฉันมีไฟล์หลายแสนไฟล์รวมกันมากกว่า 150 GB ในโฮมไดเร็กตอรี่ของฉัน; การสำรองข้อมูลงานหนึ่งวันไปยังไดรฟ์ USB ใช้เวลาประมาณ 10 นาทีด้วย Unison แต่เพียง 1-2 นาทีด้วย rsync ล่าสุด
  • ฐานข้อมูลของ Unison ต้องสร้างใหม่ทุกสองสามเดือนเนื่องจากกรณีขอบดังกล่าวข้างต้นเช่นการขาดการเชื่อมต่ออย่างฉับพลันของการรับระบบไฟล์ เมื่อพวกเขาเสียหายไฟล์ของคุณจะไม่ถูกทำลาย แต่พวกเขาอาจยังไม่ซิงโครไนซ์และจะให้ข้อผิดพลาดแปลก ๆ การสร้างฐานข้อมูลใหม่โดยเฉพาะอย่างยิ่งกับไดรฟ์ข้อมูลระยะไกลอาจใช้เวลาหลายชั่วโมงหรือหลายวัน

14
หมายเหตุ btw, Unison นั้นมีไว้สำหรับกรณีการใช้งานที่แตกต่างจาก rsync พร้อมเพรียงสำหรับการซิงค์สองทางในขณะที่ rsync สำหรับการซิงค์ทางเดียว สิ่งนี้ทำให้มีความสามารถมากขึ้น แต่ก็จำเป็นต้องมีความซับซ้อนมากกว่า rsync ดังนั้นเครื่องมือที่เหมาะสมสำหรับงาน ฯลฯ
sleske

คุณจะ "สร้างใหม่" ฐานข้อมูลได้อย่างไร ล้างออกจากโฟลเดอร์. unison หรือไม่
russellpierce

พิจารณา Crashplan.com แทน rsync สำหรับการสำรองข้อมูล
Chloe

9

ฉันไม่ได้ใช้มันนานเท่า ttarchala แต่มันจะทำงานได้ดีสำหรับชุดไฟล์ขนาดเล็กและฉันไม่ได้สูญเสียข้อมูลใด ๆ

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

นอกจากนี้โปรดทราบว่าคุณสามารถปรับปรุงประสิทธิภาพได้โดยการตั้งค่า fastcheck / pretendwin ซึ่งตรวจจับการเปลี่ยนแปลงไฟล์ตามขนาดและวันที่แทนที่จะตรวจสอบไฟล์ทั้งหมด


8

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

ในการดำเนินงานปกติมันทั้งรวดเร็วและปลอดภัย


7

ฉันใช้ Unison กับ Macs เป็นเวลาอย่างน้อย 8 ปี ฉันไม่เคยมีความพร้อมเพรียง Unison เสียหายหรือสูญเสียไฟล์ ก่อนหน้านี้ฉันมีปัญหาบางอย่างเกี่ยวกับ Unison ที่ไม่เข้าใจส้อมทรัพยากรซึ่งนำไปสู่ความล้มเหลวในการซิงโครไนซ์

ฉันเริ่มใช้ Unison หลังจากที่ฉันพบว่า Finder บน Mac B&W G3 ของฉันถูกทำให้เสียหายไฟล์ที่คัดลอกโดยการสุ่มเปลี่ยนไบต์หนึ่งหรือสองทุกเมกะไบต์อย่างเงียบ ๆ (เกิดจากปัญหาฮาร์ดแวร์กับ Firewire บนแผงวงจรตรรกะ Rev 1) เนื่องจากปัญหาดังกล่าวฉันจึงหวาดระแวงจริงๆเกี่ยวกับการเปรียบเทียบสำเนาสำรองและ Unison ก็ทำได้ดีสำหรับฉัน


3

นี่คือความล้มเหลวของความพร้อมเพรียง:

เมื่อซิงโครไนซ์ไดเรกทอรี Cygwin สองไดเรกทอรีบน Windows จะทำให้ลิงก์สัญลักษณ์ที่ Cygwin ใช้และทำให้เนื้อหาเสียหาย:

C:\Program Files\Unison>"Unison-2.40.102 Text.exe"  c:\cygwin socket://xps:4321/c:\cygwin -path bin
UNISON 2.40.102 started propagating changes at 03:32:12.55 on 28 Feb 2013
[BGN] Updating file bin/X from C:/cygwin to //xps/C:/cygwin


$ ls -l /bin/X //xps/c/cygwin/bin/X
-rwxr-xr-x+ 1 Administrators ???????? 19 Feb 28 03:32 //xps/c/cygwin/bin/X
lrwxrwxrwx  1 Chloe          None      8 Jan 28 18:35 /bin/X -> XWin.exe


$ stat /bin/X //xps/c/cygwin/bin/X
  File: `/bin/X' -> `XWin.exe'
  Size: 8               Blocks: 1          IO Block: 65536  symbolic link
Device: f8e5edb8h/4175818168d   Inode: 1125899907027010  Links: 1
Access: (0777/lrwxrwxrwx)  Uid: ( 1006/   Chloe)   Gid: (  513/    None)
Access: 2013-01-28 18:35:38.648870400 -0500
Modify: 2013-01-28 18:35:38.648870400 -0500
Change: 2013-01-28 18:35:38.648870400 -0500
 Birth: 2013-01-28 18:35:38.648870400 -0500
  File: `//xps/c/cygwin/bin/X'
  Size: 19              Blocks: 1          IO Block: 65536  regular file
Device: 808a8f0bh/2156564235d   Inode: 4222124650737757  Links: 1
Access: (0755/-rwxr-xr-x)  Uid: (  544/Administrators)   Gid: (4294967295/????????)
Access: 2013-02-28 03:32:20.619899500 -0500
Modify: 2013-02-28 03:32:20.619899500 -0500
Change: 2013-02-28 03:32:20.629884400 -0500
 Birth: 2013-02-26 13:21:32.963302500 -0500

สังเกตเห็นการเปลี่ยนแปลงขนาดและการอนุญาตหรือไม่ บนเครื่องปลายทางเมื่อพยายามเรียกใช้คำสั่งจะล้มเหลว:

Chloe@xps /usr/bin
$ X
bash: ./X: cannot execute binary file

ฉันต้องใช้ rsync เพื่อคัดลอกลิงก์สัญลักษณ์อย่างถูกต้อง

$ rsync -arvz  /cygdrive/c/cygwin/bin/ //xps/c/cygwin/bin
sending incremental file list
./
X -> XWin.exe

ความล้มเหลวอื่นคือ Unison ไม่รักษาเวลาที่แก้ไขตามค่าเริ่มต้น (อย่างไรก็ตามคุณสามารถใช้-timesตัวเลือกในการทำให้เวลาในการแก้ไขไฟล์พร้อมกันตรงกัน)! หากคุณซิงโครไนซ์เวลาที่แก้ไขจะถูกกำหนดเป็นเวลาสร้างไฟล์บนปลายทาง:

$ unison 'c:\Sites' '\\xps\c\Sites'
...
  new file ---->            ruby-env.sh
...
[BGN] Copying ruby-env.sh from c:/Sites to //xps/c/Sites
[END] Copying ruby-env.sh



$ ls -l ruby-env.sh //xps/c/sites/ruby-env.sh
----------+ 1 ???????? ???????? 188 Feb 28 02:48 //xps/c/sites/ruby-env.sh
-rw-r--r--+ 1 Chloe    None     188 Feb 27 03:06 ruby-env.sh

ในทางทฤษฎีคุณอาจสูญเสียข้อมูลหากคุณ

  1. มีที่ตั้งไฟล์ที่ซิงโครไนซ์ 2 แห่ง Location1, Location2
  2. แก้ไขสำเนาของไฟล์ที่ซิงโครไนซ์ในตำแหน่งที่ 2
  3. ซิงค์กับพร้อมเพรียงระหว่างตำแหน่งที่ 1 และตำแหน่งที่ 3
  4. สร้างไฟล์ที่ปลายทางที่ 3 ด้วยวันที่แก้ไขใหม่เนื่องจาก Unison
  5. ใช้เครื่องมือซิงค์อื่นเช่น rsync หรือ SyncToy
  6. จากนั้นซิงค์ปลายทางที่ 3 อีกครั้งด้วยตำแหน่งที่ 2 ซึ่งได้รับการแก้ไขจริงช้ากว่าแหล่งที่ 1 แต่ก่อนเวลาสร้างไฟล์ปลายทางที่ 3
  7. เครื่องมือซิงค์อื่น ๆ จะสังเกตเห็นว่าเวลาตำแหน่งที่ 3 ใหม่กว่าและเขียนทับการเปลี่ยนแปลงไปยังตำแหน่งที่ 2
  8. จึงสูญเสียข้อมูล
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.