เปลี่ยนไดเรกทอรีเป็นไดรฟ์เครือข่ายใน Cygwin


10

ฉันมีเราเตอร์ไร้สายตัวใหม่ในบ้านของฉันและมีไดรฟ์ 3 TB เชื่อมต่ออยู่ ฉันต้องการเขียนสคริปต์สำรองข้อมูลใน cygwin ซึ่งจะคัดลอกไฟล์ที่เปลี่ยนแปลงไปยัง HD ภายนอก

สำหรับผู้เริ่มฉันจะcdเข้าไปในฮาร์ดไดรฟ์ได้อย่างไร ใน windows file explorer ฉันเพียงพิมพ์//192.168.1.1และพาฉันไปที่ไดรฟ์เครือข่าย อย่างไรก็ตามเมื่อฉันพิมพ์cd //192.168.1.1มันไม่ทำงาน ดังนั้นฉันจะเปลี่ยนไดเรกทอรีเป็น HD ได้อย่างไร

ประการที่สองไม่มีใครมีคำแนะนำเกี่ยวกับวิธีการเขียนสคริปต์สำรองที่ดีเพื่อคัดลอกไดเรกทอรีบางอย่าง (ซ้ำ) ถ้าพวกเขามีการเปลี่ยนแปลง?

คำตอบ:


15

คุณสามารถดูไดรฟ์ที่ติดตั้งอยู่ในมุมมองของ cygwin สภาพแวดล้อมของระบบปฏิบัติการยูนิกซ์ที่อยู่ภายใต้ระบบปฏิบัติการ Windows /cygdriveโดยการมองใน ทำdfที่ cygwin shell prompt (ปกติbash) เพื่อดูว่าไดรฟ์ติดตั้งอยู่ที่ใด นี่คือเอกสารเป็นที่ที่ติดตั้งไดรฟ์ที่มีการค้นพบ ตัวอย่างเช่นหากต้องการเปลี่ยนเป็นไดรฟ์เครือข่ายที่ติดตั้งเป็น Windows f:\คุณจะต้องดำเนินการดังcdต่อไป/cygdrive/fนี้ใน:

$ cd /cydrive/f

นี่คือตัวอย่าง:

  1. OS X Mavericks (UNIX) ติดตั้งไดรฟ์ 3 TB เป็น /Volumes/Time Machine
  2. Virtual Windows XP (VM) กำลังทำงานบน OS X และเห็นว่า/Volumes/Time Machineเป็นX:\
  3. Cygwin ทำงานบน XP VM และเห็นว่า/Volumes/Time Machineเป็น/cygdrive/xหรือแม้กระทั่งx:

$ ls x:

นี่คือภาพ:

ป้อนคำอธิบายรูปภาพที่นี่

หาก HD ภายนอกไม่ได้ติดตั้งบนโฮสต์ Windows และแมปไปยังจุดเชื่อมต่อ/cygdriveแล้วคุณอาจต้องเชื่อมต่อเครือข่ายด้วยตัวคุณเอง ลองดูที่การดำเนินงานของ cygwin ของยูนิกซ์mountคำสั่ง

อีกวิธีหนึ่งในการดูโฟลเดอร์เครือข่ายคือตามบรรทัดของไวยากรณ์ที่คุณใช้ - ฉันมีเซิร์ฟเวอร์ OS X ของฉันที่ส่งออกโฟลเดอร์เข้าสู่ระบบ OS X ของฉัน whmcclos เป็นโฟลเดอร์ SMB ที่ใช้ร่วมกัน ฉันสามารถตั้งค่าไดเรกทอรีการทำงานปัจจุบันของฉันเป็นโฟลเดอร์ที่แชร์จาก cygwin บน Windows XP VM ของฉันทำงานภายใต้ OS X ดังนี้:

$ cd //192.168.0.2/whmcclos

ด้วยวิธีนี้ฉันไม่จำเป็นต้องติดตั้งโฟลเดอร์เป็นตัวอักษรชื่อไดรฟ์เพื่อดูจากภายใน cygwin

สำหรับการrsyncแบ็คอัพไฟล์ที่มีการเปลี่ยนแปลงจะทำการสำรองไฟล์ซ้ำในไดเรคทอรีทรีที่มีการเปลี่ยนแปลงซ้ำ - จะคำนวณชุดการสำรองข้อมูลขั้นต่ำและสำรองสิ่งที่มีการเปลี่ยนแปลงและมีตัวเลือกมากมายรวมถึงการคัดลอกไปยังไดรฟ์เครือข่าย sshสามารถที่จะนำมาใช้ด้วยการเข้ารหัสผ่าน นี่คือคำแนะนำบางอย่างเกี่ยวกับการใช้rsyncกับ cygwin นี่คือคำสั่งในการบีบอัดและเก็บถาวร (เรียกคืน) แหล่งที่มาบนไดรฟ์ที่ติดตั้งc:\ และวางเป้าหมายบนไดรฟ์ที่ติดตั้งเช่นเดียวf:\กับบนโฮสต์ Windows ที่เป็นพื้นฐานของ cygwin

$ rsync -avz /cygdrive/c/path/to/source /cygdrive/f/path/to/target

หากคุณต้องการความช่วยเหลือเพิ่มเติมใด ๆ โปรดอย่าแสดงความคิดเห็น


ขอบคุณฉันยังคงมีคำถาม - เมื่อฉันใช้-avzมันไม่ได้คัดลอกสิทธิ์อย่างถูกต้อง rsync: failed to set permissions on "<path>": Permission denied (13)ฉันได้รับ แนวคิดใดที่จะแก้ไขสิ่งนี้
drjrm3

ดูเหมือนสิ่งที่ฉันเห็นครั้งเดียวด้วยสิทธิ์โดยเฉพาะกับสิทธิ์ ACL ดูสิทธิ์รวมถึง ACL ด้วย/bin/ls -le /path/to/sourceและ/bin/ls -le /path/to/targetตรวจสอบไม่เพียง แต่สิทธิ์โฟลเดอร์ต่างๆ แต่สิทธิ์ ACL ของและในโฟลเดอร์เหล่านั้น ดูman lsและ-leสวิตช์และman chmodและ+aและ-aสวิตช์ ฉันมั่นใจ 99% ว่ามีบางอย่างเกี่ยวกับการอนุญาต เริ่มต้นด้วย rsync'ing เซตย่อยของแผนผังต้นกำเนิดเพื่อบอกว่า/tmpคุณรู้ว่าคุณมีสิทธิ์ในการเขียนและดูว่ามันทำงานอย่างไร
Billy McCloskey

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