เส้นทาง Rsync ด้วย ()


0

มีคนบอกฉันได้ไหมว่าฉันจะทำให้สายนี้ทำงาน

rsync -rtvz --delete --exclude-from exclude.txt --out-format="%M %o %n" -e "ssh -p 2323 -i /root/.ssh/server" Administrator@someserver.dynv6.net:'/cygdrive/C/Nas/Public/Büro/Kunde/Anfrage Eingang (AFE)/ '/volume2/Nas/Public/Büro/Kunde/Anfrage Eingang (AFE)/'

ฉันได้รับข้อความแสดงข้อผิดพลาดนี้ -ash: ข้อผิดพลาดทางไวยากรณ์ใกล้กับโทเค็นที่ไม่คาดคิด `('

มันเป็น DSM 6.x synology

คำตอบ:


0

Administrator@someserver.dynv6.net: '/ cygdrive / C / Nas / สาธารณะ / Büro / Kunde / Anfrage Eingang (AFE) /' '/ ปริมาณ 2

ดูเหมือนว่าคุณไม่มีขีดปิด 'ระหว่าง (AFE) / และ / volume2

นอกจากนี้คุณอาจต้องหลีกเลี่ยงวงเล็บ \ (\)


hmm ขอบคุณตอนนี้ฉันได้รับสิ่งนี้เพิ่มรายชื่อไฟล์ rsync: link_stat "/ cygdrive / C / Nas / สาธารณะ / Büro / Kunde / Anfrage" ล้มเหลว: ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว (2) rsync: link_stat "/Users/Administrator.SERVER/ Eingang "ล้มเหลว: ไม่มีไฟล์หรือไดเรกทอรี (2) rsync: link_stat" /Users/Administrator.SERVER/(AFE) "ล้มเหลว: ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว (2) ส่ง 220 ไบต์รับ 10 ไบต์ 153.33 ไบต์ / วินาทีขนาดทั้งหมดคือ ความเร็ว 0 เป็นข้อผิดพลาด 0.00 rsync: ไฟล์ / attrs บางไฟล์ไม่ถูกถ่ายโอน (ดูข้อผิดพลาดก่อนหน้า) (รหัส 23) ที่ main.c (1898) [ผู้รับ = 3.0.9]
Ronny

ตรวจสอบพา ธ ไฟล์เพื่อให้แน่ใจว่าถูกต้อง มันกำลังบอกว่า / cygdrive / etc ไม่มีอยู่จริง
Ben M.

ถ้าฉันrsync -rtvz --delete --exclude-from exclude.txt --out-format="%M %o %n" -e "ssh -p 2323 -i /root/.ssh/server" Administrator@someserver.dynv6.net:'/cygdrive/C/Nas/Public/Büro/Kunde/' '/volume2/Nas/Public/Büro/Kunde/' ทำงานและซิงค์โฟลเดอร์ที่ชื่อว่า "Anfrage Eingang (AFE)" ได้รับรายชื่อไฟล์เพิ่มเติม 2017/06 / 13-08: 29: 30 recv Anfrage Eingang (AFE) / 2017/04 / 12-09: 19: 00 recv Anfrage Eingang (AFE) /Müllabwurf.PDF
Ronny

อ๊ะลองหนีพื้นที่ใน 'Anfrage Eingang'> 'Anfrage \ Eingang \ (AFE)'
Ben M.

ฉันทำแล้วมันเหมือนกัน
Ronny

1

อันนี้ทำหน้าที่ :-)

หากคุณต้องการถ่ายโอนชื่อไฟล์ที่มีช่องว่างคุณสามารถระบุตัวเลือก --protect-args (-s) หรือคุณจะต้องหลบหนีช่องว่างในแบบที่เชลล์ระยะไกลจะเข้าใจ ตัวอย่างเช่น

ดังนั้นคำตอบสุดท้ายคือถ้าคุณต้องการหลีกเลี่ยงข้อผิดพลาดกับช่องว่างและวงเล็บบนสำเนาในเครื่องเพียงใช้เครื่องหมายคำพูดคู่สำหรับ vars เช่น:

source="/root/new folder ()/"
dest="/root/some other folder ()"
rsync -rtvz --delte "$source" "$dest"

หากคุณต้องการคัดลอกจากโฮสต์ระยะไกลคุณต้องตั้งค่า --protect-args

rsync -rtvz --delete --protect-args -e "ssh -p 22 -i /root/.ssh/somekey" root@someserver:"$source" "$dest"

หรือ

rsync -rtvzs --delete -e "ssh -p 22 -i /root/.ssh/somekey" root@someserver:"$source" "$dest"

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