ทำไม rsync ถึงไม่ติดในโลกของ Windows? [ปิด]


97

ดูเหมือนว่าrsyncเป็นมาตรฐานความจริงสำหรับการสำรองข้อมูลไฟล์ที่มีประสิทธิภาพและการซิงค์ใน Unix / Linux

ไม่มีใครคิดบ้างไหมว่าทำไมมันถึงไม่ติดอยู่ในโลกของ Windows?

ทำไมจึงไม่กลายเป็น 'โปรโตคอล' สากลสำหรับการซิงค์ไฟล์


4
เป็นเพราะไม่มีพอร์ตที่เหมาะสมและเป็นเพราะคน Windows คุ้นเคยกับ It Just Works พอร์ตที่ยังไม่ได้ค่อนข้างเป็น PITA ขนาดใหญ่
RomanSt

1
Windows มีการซิงโครไนซ์ของเดลต้าผ่าน DFS และRDC แล้วซึ่งสามารถจัดการจากส่วนกลางปรับใช้อย่างหนาแน่นตั้งค่าและอื่น ๆ ได้มากมาย
Panagiotis Kanavos

@ p.campbell มี cwrsync สำหรับ windows อยู่
Pacerier

คำตอบ:


48

ฉันจะบอกว่าส่วนใหญ่เป็นเพราะคนใน windows ไม่ได้ตระหนักถึงมัน Rsync เป็นโปรแกรมอรรถประโยชน์บรรทัดคำสั่งที่สอดคล้องกับปรัชญาของยูนิกซ์ที่มีเครื่องมือขนาดเล็กจำนวนมากติดตั้งไว้ล่วงหน้า ปรัชญาของ windows นั้นมีพื้นฐานมาจากแอพพลิเคชั่น GUI ที่ดาวน์โหลดและติดตั้งแยกต่างหาก ไม่มีจุดรวมที่ราบรื่นที่ rsync จะเห็นได้ชัดหรือเข้าท่ามากและการรันคำสั่งบนระบบ windows นั้นน่าเบื่อที่สุด

นอกจากนี้ rsync จะส่องแสงเมื่อส่วนหนึ่งของแอปพลิเคชันที่มีขนาดใหญ่กว่า (พูดเพื่อรวบรวมและแยกบันทึก) หรือเป็นระบบเก็บถาวรอัตโนมัติ (นำไปใช้อย่างง่ายดายด้วย cronjob) Windows ไม่มีเครื่องมืออื่น ๆ ในระบบนิเวศของมันเพื่อให้ใช้ rsync ได้จริง

ในที่สุดฉันจะบอกว่า rsync นั้นซับซ้อนเกินไป ใครก็ตามที่ฉันรู้ว่าใครใช้มันเป็นประจำจะมีกลุ่มของธงที่ตั้งค่าไว้ล่วงหน้า (mine คือ -avuz) ที่ทำสิ่งที่พวกเขาต้องการ แต่หน้า man / เอกสารแสดงรายการสวิตช์บรรทัดคำสั่งหลายสิบรายการ ตัวอย่างเช่น (จาก [man page] [1]):

-a, --archive : โหมดเก็บถาวร; เท่ากับ -rlptgoD (ไม่ใช่ -H, -A, -X)

มันเป็นวิธีที่รวดเร็วในการบอกว่าคุณต้องการเรียกซ้ำและต้องการรักษาเกือบทุกอย่าง (ด้วย -H ข้อยกเว้นสำหรับความเท่ากันข้างต้นคือเมื่อระบุ --files-from ซึ่งในกรณีที่ -r ไม่ได้บอกเป็นนัย

โดยทั่วไปผู้ใช้ Windows คาดหวังว่าดีหน้าต่างและเมนูและมีแอพเดียวเป็นโซลูชันแบบครบวงจรไม่เพียง แต่เป็นส่วนหนึ่งของห่วงโซ่เครื่องมือ


11
ฉันเห็นด้วยกับคุณโดยสิ้นเชิง! หน้าคนเป็นวิธีที่แย่ที่สุดในการทำความเข้าใจ rsync และแอปพลิเคชั่นอื่น ๆ อีกมากมาย
Antoine Benkemoun

2
จริงๆแล้วมันกลับกัน คน UNIX / Linux ไม่รู้ว่า Windows ให้ DFS และ RDC มาตั้งแต่ปี 2549 เป็นอย่างน้อย ง่ายต่อการติดตั้งจัดการปรับใช้กับโดเมนทั้งหมด (เช่นเดสก์ท็อปนับร้อยหรือพันกับไคลเอนต์หลายสิบหรือหลายร้อย)
Panagiotis Kanavos

3
@PanagiotisKanavos ยกเว้น DFS นั้นแตกต่างจาก rsync NFS (หรือโปรโตคอลอื่น ๆ จำนวนมาก) มีอยู่บนระบบปฏิบัติการบน Linux แต่ rsync มักจะใช้สำหรับการสำรองข้อมูลแบบเป็นขั้นเมื่อปิดการถ่ายโอนเป็นต้นแอปเปิ้ลและส้ม
แอนดรูว์ไวท์

5
@Pacerier: "บรรทัดคำสั่งคือบรรทัดคำสั่ง"? คุณมีความอดทนอย่างยิ่งหรือคุณรู้จักเพียงคนเดียวและไม่ใช่คนอื่น สำหรับคนปกติที่รู้จัก Bash ใน Linux / Mac (หรือ Unix shells อื่น ๆ ), cmd.exe เป็นคนง่อยที่บอกว่า "น่าเบื่อที่สุด" ยังคงเป็นการพูดน้อย
mivk

2
"และการใช้คำสั่งบนระบบ windows นั้นน่าเบื่อที่สุด" - คุณยังไม่ได้ทำอะไรเลยไม่เคยได้ยิน Powershell มาก่อนเป็นแฟนบอยของ Linux หรือทั้งหมดข้างต้น ทุกวันนี้ก็ไม่ได้แตกต่างจากการทำบน Linux
Alan B

63

ฉันแปลกใจที่ไม่มีใครพูดถึงDeltaCopyซึ่งเป็น rsync ที่บรรจุใน windows GUI มันยังสามารถติดตั้งตัวเองเป็นบริการที่รองรับ rsyncd


3
+1 ฉันไม่สามารถลงคะแนนได้เพียงพอ DeltaCopy เป็นวิธีที่เราสำรองข้อมูลเซิร์ฟเวอร์ลินุกซ์สองตัวไปยังเซิร์ฟเวอร์สำรองที่ใช้ Windows ของเรา Rsync บน Ubuntu ลงในไคลเอนต์ DeltaCopy บน Windows
Matt Everson

ดูเหมือนว่าจะไม่เล่นได้ดีกับสิทธิ์การรักษาความปลอดภัยของ ntfs
JamesRyan

สามารถดึงไฟล์ผ่าน SSH โดยไม่ใช้ rsyncd บนเครื่อง Linux ระยะไกลได้หรือไม่?
Cees Timmerman

1
เมื่อ rsync ทำงานผ่าน ssh จะเริ่มกระบวนการ rsync ที่อีกด้านหนึ่ง คุณไม่จำเป็นต้องกำหนดค่า rsyncd แบบสแตนด์อโลนที่ทำงานบนรีโมท แต่คุณจำเป็นต้องติดตั้ง
Sekenre

DeltaCopy เป็นเซิร์ฟเวอร์บน windows สคริปต์ cron ที่รัน rsync ไปยังกล่อง linux และ rsnaphot เพื่อให้ได้การสำรองข้อมูล "Time Machine" ไม่มีค่า
MGP

11

ในความคิดของฉันเพราะไม่มี GUI ที่เหมาะสม

อีกเหตุผลหนึ่งก็คือว่ามี robocopy Robocopy ไม่มีฟีเจอร์เด็ด ๆ มากมายที่ rsync นำเสนอ แต่ในสถานการณ์ส่วนใหญ่ robocopy นั้นเพียงพอสำหรับงานในมือ


4
robocopy ไม่ได้ทำสิ่งใดเพื่อเพิ่มประสิทธิภาพของสำเนาระยะไกลซึ่งเป็นนวัตกรรมหลักของ rsync ผมบอกว่าไม่ได้มีการคลิกแหลม GUI เป็นข้ออ้างเท่านั้นไม่พยายาม
ฮาเวียร์

2
ในโลกของ windows ที่ทำงานกับไฟล์ "รีโมต" มักจะเกี่ยวข้องกับการแชร์ดิสก์รีโมตจากนั้นทำการปฏิบัติการไฟล์ "ท้องถิ่น" และสำหรับ robocopy นั้นก็เพียงพอแล้ว

9

ฉันใช้ Cygwin rsync อย่างกว้างขวางและใช้งานได้ดีมาก

แต่ ...

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

นอกจากนี้มันยังทำให้เกิดการอนุญาตถึงจุดที่ฉันตั้งค่า cygwin = nontsec เสมอและมันก็หยุดทำงานเป็นประจำ ฉันเข้าใจว่าการแฮงค์เป็นปัญหาที่รู้จักกับ Cygwin dll มากกว่า rsync ตัวเอง (ซึ่งไม่ใช่คำวิจารณ์ของพวก Cygwin สิ่งที่พวกเขาประสบความสำเร็จนั้นสั้นไปหน่อยปาฏิหาริย์!)

Rsync มีประโยชน์อย่างยิ่งหากคุณทำการจำลองแบบผ่านลิงค์ WAN และอยู่ในรายการสิ่งที่ต้องทำของฉันเพื่อเขียนเวอร์ชัน Win32 ดั้งเดิม น่าเศร้าที่มันอยู่ในรายการสิ่งที่ต้องทำของฉันเป็นเวลาหลายปีและไม่ใกล้เคียงกับอันดับสูงสุด ฉันไม่คิดว่าเพียงแค่เขียน GUI wrapper เป็นขั้นตอนที่ยิ่งใหญ่เพราะไม่สามารถแก้ไขปัญหาพื้นฐานบางอย่างของ Cygwin ได้

หากใครสนใจhttp://www.ratsauce.co.uk/notablog/UsingRsync.asp จะอธิบายถึงผลของความเจ็บปวดหลายชั่วโมงของฉันที่ทำให้ Cygwin rsync ทำงานบน Windows ได้

จูเนียร์


แก้ไขให้ถูกต้องแม้ว่าจะติดตั้งและทำงานได้ดีบนระบบ XP ของฉัน แต่ Vista ก็ไม่ชอบเลย Rsync เป็นธุรกิจหากมีพอร์ตดั้งเดิมของมันไปยัง Windows ฉันมั่นใจว่ามันจะใช้งานได้มากขึ้น
gbjbaanb

การติดตั้ง Git สำหรับ Windows จะให้ bash และ CygWin ที่กำหนดค่าไว้ออกจากกล่อง คุณสามารถเลือกการรวมคำสั่ง unix เข้ากับ CMD ได้ Voila ฉันลืมใช้ PowerShell หรือ CMD)
it3xl

8

ฉันจะบอกว่าสำหรับคอมพิวเตอร์ขนาดเล็กลงในการซิงค์คอมพิวเตอร์ผู้คนกำลังใช้Robocopy , SyncToyหรือFoldershare (ตอนนี้ซิงค์สด) สำหรับองค์กรกระจายสถานการณ์ร่วมกันแฟ้ม MULTIMASTER ขนาดใหญ่พวกเขาจะใช้Distributed File System (DFS) เครื่องมือเหล่านั้นจัดการกับสถานการณ์การซิงค์ส่วนใหญ่ได้ดีเหลือประโยชน์เพียงเล็กน้อยในการติดตั้งการเรียนรู้และการใช้แอพ * nix ที่คอมไพล์แล้วบน Windows


7

ผู้ใช้ Windows โดยเฉลี่ยของคุณจะใช้เพื่ออะไร


3
+1 สำหรับความจริง - การสำรองข้อมูลของผู้ใช้ windows ส่วนใหญ่เป็น "ลากและวางลงใน
ฮาร์ดไดรฟ์ที่

17
ฉันไม่ค่อยทำเครื่องหมายคำตอบลงและฉันจะไม่ทำเครื่องหมายข้อนี้ลง แต่เนื่องจาก ServerFault เป็นฟอรัมสำหรับผู้ใช้ Windows โดยเฉลี่ยเมื่อใด สำหรับดูแลระบบการจำลองแบบนอกสถานที่มีความสำคัญมากขึ้นเรื่อย ๆ บริษัท ขนาดใหญ่อาจเพิ่งซื้อ DPM เพื่อใช้ผ่านการเชื่อมต่อ T3 ของพวกเขา พวกเราผู้ถ่อมตนต้องการสิ่งที่จะทำงานที่ความเร็วการอัปโหลด ADSL และ rsync ทำได้ดีมาก
John Rennie

3
@ จอห์น: ใช่ แต่คนจะไม่ใช้ rsync จนกว่าพวกเขาจะรู้ว่ามันมีอยู่ มีการใช้ rsync และมีประโยชน์สำหรับผู้ใช้ทั่วไปโดยทั่วไปสำหรับทุกเพศทุกวัยดังนั้นผู้ดูแลระบบของเขาจึงควรทำความเข้าใจกับมัน บน Windows? ไม่มากนัก. Windows คือ (และอาจสำคัญกว่านั้นคือมุ่งเป้าไปที่กลุ่มเป้าหมายที่แตกต่างกันซึ่งไม่มีความสนใจหรือใช้สำหรับเครื่องมือเช่นนี้และเนื่องจาก sysadmins ของ Windows มักจะเริ่มต้นในฐานะผู้ใช้ Windows เครื่องมือที่พวกเขาใช้จะได้รับอิทธิพลจากเครื่องมือใด ของ windows ผู้ใช้ . ใช้คุณกำลังผสมสองความกังวลที่แตกต่างกัน ( ทำไมมันไม่ได้เป็นที่นิยม VS มันจะมีประโยชน์ )
jalf

ฉันเพียงแค่ตอบอดีตผมไม่ได้ปฏิเสธว่ามันจะมีประโยชน์
jalf

ใช่ แต่มีเซิร์ฟเวอร์ Windwos อยู่มากมายที่ต้องสำรองข้อมูลด้วย
kiltek

4

IMO:

rsync นั้นมีโอกาสน้อยที่จะถูกติดตั้งบนเครื่องที่มีอยู่ในโลกของ Windows ในขณะที่ Resource Kit ที่มี robocopy มักติดตั้งอยู่ (หรืออย่างน้อยก็อยู่ในรายชื่อซอฟต์แวร์ที่ได้รับการอนุมัติที่สามารถติดตั้งในระบบการผลิตได้)

ในขณะที่คนอื่น ๆ ชี้ให้เห็น robocopy เป็นมากกว่าเพียงพอที่จะผิวหนังอะไรก็ตามที่อยู่ในมือแมว อาจไม่ดีเท่า rsync แต่เป็นเครื่องมือที่ดี

การขาด GUI อาจเป็นปัจจัย แต่แม้ว่าจะมี front-end สำหรับ robocopy แต่ฉันพบว่าคนส่วนใหญ่เข้าใจสวิตช์ robocopy ที่จำเป็นและติดไว้ในไฟล์. bat


Robocopy มาพร้อมกับ Windows 2008 (และสูงกว่าที่ฉันคิดเอาไว้) ดังนั้นจึงไม่จำเป็นต้องติดตั้งอีกต่อไป
mrdenny

ฉันไม่ได้ตระหนักถึงสิ่งนี้ ขอบคุณสำหรับข้อมูล ... เราอยู่ห่างจากปี 2008 อย่างน้อยหนึ่งปีในสภาพแวดล้อมของเราและฉันไม่ได้ติดตามตั้งแต่ย้ายจากการบริหารโฆษณา
damorg

Robocopy ได้รับการติดตั้งตามค่าเริ่มต้นใน Vista และ Windows 7 เช่นกันและอาจเป็นไปได้ที่ PE counter-parts
Oskar Duveborn

Robocopy จะไม่ถ่ายโอนเฉพาะส่วนที่มีการเปลี่ยนแปลงของไฟล์ดังนั้นไฟล์ขนาดใหญ่ที่มีการเปลี่ยนแปลงเล็กน้อยจะคัดลอกช้ามากเมื่อเทียบกับ rsync
JustinP

4

ฉันใช้ robocopy ใน windows - ซึ่งติดตั้งล่วงหน้าใน windows vista และ windows 7 และขึ้นอยู่กับสถานการณ์การสำรองข้อมูลใด ๆ ที่ฉันพบจนถึงขณะนี้


2

ฉันเดาว่ามันไม่ได้มี GUI สำหรับงานการซิงค์ที่ง่าย Microsoft ยังมี Sync Toy และ rsync สามารถทำได้มากกว่า ...


โดยทั่วไปมี GUI สำหรับมัน: sepiola.org/en/home ฉันได้พูดคุยกับผู้พัฒนาของ Sepiola หนึ่งครั้งและพวกเขาบอกฉันว่าพวกเขาทำ GUI รอบ rsync

2
ฉัน downvote นี้เพราะมันแสดงให้เห็นว่า Windows sysadmins หายไปโดยไม่ต้องใช้ GUI ซึ่งไม่เป็นความจริง ผู้ดูแลระบบที่ดีส่วนใหญ่ใช้ได้กับอรรถประโยชน์บรรทัดคำสั่ง
quux

2

สำหรับสิ่งที่เป็นกังวลมีrsyncทำงานได้อย่างสมบูรณ์แบบสำหรับ Windowsที่ไม่จำเป็นต้องติดตั้ง Cygwin ฉันใช้มันเพื่อสำรองข้อมูลส่วนต่าง ๆ ของฉันไปยังไดรฟ์อื่น มันจะมีประโยชน์ในการแยกไดเรกทอรีเฉพาะ แต่อาจสาธารณูปโภคอื่น ๆ ทำเช่นกัน

เนสเตอร์


มันยังคงใช้ Cygwin ซึ่งหมายความว่า dll จะยุ่งกับแอพอื่น ๆ ที่อาจใช้ Cygwin โดยทั่วไปจะดีกว่าที่จะติดตั้ง Cygwin ในกรณีเหล่านี้
dlamblin

2

โอ้พวกคุณเห็นได้ชัดว่ายูทิลิตี้ "Unison" หายไป ฉันได้สนับสนุนโครงสร้างพื้นฐาน "เรียลไทม์" ที่สำคัญของ US / EUR และฉันต้องบอกว่าทุกคนมีปัญหาที่คล้ายกันมาก ... วิธีการทำซ้ำและสามารถใช้งานได้ตลอดเวลา ... ถ้าคุณไม่สนใจ เกี่ยวกับการคงอยู่ของเซสชั่นแล้วสิ่งนี้คือระเบิด ... สิ่งที่ดีที่สุดที่ฉันพบในโซลาริสแถม :-)


2

ที่ง่ายต่อการใช้ / ติดตั้งโปรแกรม GUI rsync ฉันได้พบสำหรับ Windows ได้รับgrSync

( ภาพหน้าจอ: http://www.opbyte.it/grsync/sc Screenshot.html )

หากเป็นที่นิยมมากขึ้นอาจจะใช้ rsync มากกว่า


0

ฉันเชื่อว่า rsync สามารถใช้ได้ภายใต้ cygwin ใน windows world :) cygwin นั้นติดตั้งและใช้งานได้ง่าย แต่สำหรับผู้ใช้ทั่วไปที่รัก GUI มันไม่ได้เป็นเรื่องธรรมดามาก ดังนั้นเราจึงได้รับสองอุปสรรค:

1) การขาดส่วนหน้า GUI

2) แม้ว่าจะมีส่วนหน้า GUI ใน tcl / tk เช่น - ความจำเป็นในการติดตั้ง cygwin เป็นอุปสรรค

และ rsync ไม่ใช่ซอฟต์แวร์ลิขสิทธิ์ที่ต้องการขายตัวเองดังนั้นจึงต้องดิ้นรนเพื่อกำจัดอุปสรรคก่อนลูกค้า ในฐานะที่เป็น Joel sais: การกำจัดสิ่งกีดขวางหนึ่งจะเพิ่มฐานผู้ใช้ของคุณเป็นสองเท่า ดังนั้นที่นี่เรามีอุปสรรคสำหรับผู้ใช้ windows - เนื่องจากฐานผู้ใช้ขนาดเล็กบนแพลตฟอร์ม Windows


0

ฉันใช้ robocopy สำหรับพฤติกรรมคล้าย rsync ใน windows

โดยทั่วไปฉันเขียนไฟล์ backup.bat ที่ฉันมีในไดรฟ์ภายนอก ฉันเรียกใช้ไฟล์อย่างสม่ำเสมอเพื่อสำรองเดสก์ท็อปของฉันไว้ที่ไดรฟ์ภายนอก จากนั้นฉันก็เก็บไดรฟ์ภายนอกไว้ในตู้นิรภัยที่กันไฟได้



0

ด้วยเหตุผลเดียวกันtarและbzip2ไม่เคยได้ยินมาก่อน มันเข้ากันไม่ได้กับ Windows การบีบอัดไดเรกทอรีและปิดการทำงานของ SMB นั้นเข้ากับ Windows ได้ดีขึ้นและดูเหมือนจะเร็วในหลายกรณี นี่ไม่ใช่ความฝันของฉันสำหรับโลกที่ดีกว่า แต่มันเป็นความจริงที่จะต่อสู้กับ เครื่อง windows ส่วนใหญ่ไม่มีการติดตั้งเลเยอร์ unix ไม่เหมือน Mac OS X


0

มี rsync guis ที่ใหม่กว่าในการพัฒนา หนึ่งผมมาในเร็ว ๆ นี้ผ่านวิกิพีเดียเป็นyintersync มันดูค่อนข้างครอบคลุมในฐานะ gui สำหรับ rsync บน windows และค่อนข้างเรียบร้อยนอกจากนี้ยังรองรับ shadow copy สำหรับจำลองไฟล์สด

ฉันเพิ่งทดสอบสิ่งนี้กับระบบ dr ที่ทำงานด้วยผลลัพธ์ที่ดี มีรายงานกำหนดการและอีเมลในตัว สิ่งนี้อาจช่วย rsync ให้ทันกับหน้าต่างในที่สุด


0

การขาด GUI ไม่ได้เป็นปัญหาจริงๆ xacls, robocopy, net, sc เป็นประโยชน์อย่างมากและไม่มี GUI ใด ๆ ฉันเชื่อว่าถ้า rsync ไม่ได้ใช้มันเป็นเพราะความจริงที่ว่า:

  1. Windows ไม่มีเชลล์จริงและภาษาสคริปต์จริง และคนที่ใช้แบทช์ก็ใช้ robocopy เช่นกัน
  2. ตั้งแต่ 95 Windows มาพร้อมกับเครื่องมือกราฟิกที่ใช้งานง่าย (ชื่อ "เอกสาร Porte" ในเวอร์ชันภาษาฝรั่งเศส) ตั้งแต่ Windows 2000 (หรือ XP?) มีเมนู "ซิงโครไนซ์" ใน explorer

คำจำกัดความของ "ของจริง" คืออะไร? ^^
Oskar Duveborn

เชลล์จริงอนุญาตให้ปรับแต่งได้มากกว่าขนาดหน้าต่างหรือไทล์ ความสามารถในการทำงานทุกอย่างที่คุณต้องการ (การจัดการบัญชีผู้ใช้การปรับแต่งการกำหนดค่าระบบ ... ) ภาษาสคริปต์จริงอนุญาตให้กำหนด environnement (คุณเคยลองใช้คำสั่ง "date" ใน environnement หลายประเทศหรือไม่) และสามารถใช้งานได้ในพร้อมท์การแทรกสอด (เหมือน vbs / js)
เบอนัวต์

PowerShell ตอบสนองทุกความต้องการของคุณและเป็นส่วนหนึ่งของ Windows มาตั้งแต่ปี 2549 มันทำงานร่วมกับ. NET ดังนั้นฉันจึงชอบ Bash ในบางกรณี
James
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.