Bash + rclone · OneDrive ↔ Google Drive · คู่มือปฏิบัติงานแบบโอเพนซอร์ส

ถ่ายโอนข้อมูลบนคลาวด์แบบคัดลอกเท่านั้นด้วย Bash และ rclone

rclone รองรับการแบ่งหน้าข้อมูลบนคลาวด์ การลองใหม่ การถ่ายโอนที่ดำเนินการต่อได้ และแฮชของผู้ให้บริการอยู่แล้ว งานทางวิศวกรรมคือการห่อหุ้มองค์ประกอบพื้นฐานเหล่านั้นไว้ในขั้นตอนปฏิบัติงานที่หยุดอย่างปลอดภัยเมื่อเกิดข้อผิดพลาดและคำนึงถึงความจุ

อัปเดตเมื่อ ; 20 นาทีในการอ่าน.

คำตอบสั้น ๆ

FileArk เป็นตัวเลือกแบบมีการจัดการที่เรียบง่ายกว่าสำหรับการย้ายข้อมูลขนาดใหญ่หรือการย้ายที่ไม่มีผู้คอยดูแล โดยทำการถ่ายโอนทางออนไลน์ ผ่านการทดสอบกับภาระงานระดับหลายเทราไบต์ และตรวจสอบผลลัพธ์แต่ละรายการก่อนเสร็จสิ้น สำหรับผู้ปฏิบัติงานที่ต้องการควบคุมเส้นทางข้อมูลด้วยเชลล์ Wrapper สำหรับ Bash ภายใต้สัญญาอนุญาต MIT นี้จะคัดลอกข้อมูลเป็นแบตช์ที่มีขอบเขตจำกัดผ่านพื้นที่พักข้อมูลในเครื่อง ตรวจสอบทั้งสองช่วงแบบไบต์ต่อไบต์ และไม่ลบไฟล์ต้นทาง

เหตุใดจึงใช้ Wrapper ครอบ rclone แทนการสร้างไคลเอนต์ของผู้ให้บริการทุกรายขึ้นใหม่

rclone ช่วยให้เวิร์กโฟลว์เชลล์มีชั้นนามธรรมสำหรับผู้ให้บริการที่พัฒนามาอย่างสมบูรณ์ พร้อมการกำหนดค่า OAuth การแบ่งหน้า พฤติกรรมการลองใหม่ การถ่ายโอนที่ดำเนินการต่อได้ การควบคุมการทำงานพร้อมกัน คำสั่งจัดทำรายการ และคำสั่งตรวจสอบ ดังนั้น Wrapper จึงมุ่งเน้นข้อกำหนดที่ต้องคงไว้ในการย้ายข้อมูลได้ ได้แก่ คำสั่งที่คัดลอกเท่านั้น การพักข้อมูลที่มีขอบเขตจำกัด พื้นที่สำรอง รายการไฟล์ที่ให้ผลลัพธ์แน่นอน และความคืบหน้าที่บันทึกไว้อย่างถาวร

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

สคริปต์นี้จะไม่เรียกใช้ rclone move, sync, delete, purge หรือ rmdirs อย่างชัดเจน โดยใช้ lsf และ about เพื่อสำรวจข้อมูล ใช้ copy ในแต่ละช่วง และใช้ check --download เพื่อตรวจสอบทุกไบต์ สิ่งเดียวที่ถูกลบคือไฟล์ที่ผ่านการตรวจสอบแล้วจากไดเรกทอรีพักข้อมูลในเครื่อง

ดาวน์โหลดรุ่น Bash และสัญญาอนุญาต MIT

ดาวน์โหลดโปรแกรมถ่ายโอนด้วย Bash และ rclone
Wrapper แบบคัดลอกเท่านั้น พร้อมขีดจำกัดแบตช์ พื้นที่สำรองในเครื่องและปลายทาง การตรวจสอบทุกไบต์ เช็กพอยต์ การควบคุมการลองใหม่ และเดโมที่ไม่ต้องใช้เครือข่าย
fileark-cloud-transfer.sh · Bash 4+ · rclone · jq · สัญญาอนุญาต MIT

ดาวน์โหลดสัญญาอนุญาต MIT
ประกาศสิทธิ์การใช้งานที่ครอบคลุมสคริปต์ถ่ายโอนด้วยตนเองทั้งสองรายการของ FileArk
LICENSE-fileark-cloud-transfer.txt · MIT · ข้อความธรรมดา

เรียกใช้เดโมสำหรับผู้ดำเนินการโดยไม่ใช้เครือข่าย

เทอร์มินัลที่กำลังเรียกใช้สคริปต์ถ่ายโอนข้อมูลบนคลาวด์ด้วย Bash และ rclone ของ FileArk ในโหมดเดโม
เดโมนี้แสดงแบตช์หนึ่งรายการที่มีขนาดจำกัดขณะผ่านขอบเขตการตรวจสอบทั้งสองจุด โดยจะไม่ตรวจสอบการกำหนดค่า rclone ไม่ติดต่อระบบคลาวด์ และไม่เขียนข้อมูลไปยังปลายทางระยะไกล

เดโมนี้เรียกใช้ได้อย่างปลอดภัยก่อนติดตั้ง rclone หรือ jq เนื่องจากการแยกวิเคราะห์อาร์กิวเมนต์จะออกจากโปรแกรมก่อนตรวจสอบสิ่งที่ต้องพึ่งพา เอาต์พุตจะระบุชื่อการดำเนินการแบบทำลายข้อมูลที่ห้ามใช้ แสดงพื้นที่สำรองทั้งสองส่วน และปิดท้ายด้วยจำนวนรายการที่ลบจากต้นทาง

ตรวจสอบและทดสอบเบื้องต้นกับไฟล์ที่ดาวน์โหลด
chmod +x fileark-cloud-transfer.sh
bash -n fileark-cloud-transfer.sh
./fileark-cloud-transfer.sh --demo
./fileark-cloud-transfer.sh --help

ติดตั้งและกำหนดค่าส่วนประกอบที่จำเป็นสำหรับผู้ดำเนินการ

ติดตั้ง rclone รุ่นปัจจุบันตามคำแนะนำอย่างเป็นทางการ และติดตั้ง jq จากตัวจัดการแพ็กเกจของระบบปฏิบัติการ ต้องใช้ Bash 4 หรือใหม่กว่า เนื่องจากสคริปต์ตัวครอบใช้การจัดการข้อผิดพลาดแบบเข้มงวดและนิพจน์เงื่อนไขสมัยใหม่

เรียกใช้ rclone config และสร้างรีโมตสองรายการที่ตั้งชื่อแยกกัน เช่น onedrive: และ gdrive: ป้อน client ID และ secret ของผู้ให้บริการที่เป็นของคุณเอง เมื่อนโยบายหรือขีดจำกัดอัตราการใช้งานกำหนดให้ต้องใช้แอปพลิเคชัน OAuth โดยเฉพาะ rclone จะจัดเก็บโทเค็น OAuth ไว้ในไฟล์การกำหนดค่า โปรดปกป้องไฟล์นั้นด้วยสิทธิ์เข้าถึงที่เข้มงวดและอย่ารวมไฟล์ไว้กับสคริปต์

ยืนยันรีโมตแต่ละรายการด้วยคำสั่งแสดงรายการแบบอ่านอย่างเดียวและคำสั่งตรวจสอบโควตาก่อนเรียกใช้ Wrapper ใช้พาธอย่าง onedrive:Department/Archive เมื่อขอบเขตครอบคลุมเฉพาะส่วนย่อยของโครงสร้าง

กำหนดค่าและตรวจสอบรีโมตทั้งสอง
rclone version
rclone config
rclone lsd onedrive:
rclone lsd gdrive:
rclone about onedrive: --json | jq
rclone about gdrive: --json | jq

ตรึงรายการไฟล์ที่ให้ผลลัพธ์แน่นอนก่อนเริ่มย้ายไบต์

Wrapper ใช้ rclone lsf แบบเรียกซ้ำ โดยระบุตัวคั่นเป็นแท็บและใช้รูปแบบ sp เพื่อสร้างข้อมูลขนาดตามด้วยพาธ จากนั้นจะตรวจสอบว่าขนาดแต่ละรายการเป็นตัวเลขและพาธแต่ละรายการเป็นพาธสัมพัทธ์ ก่อนตัดพาธที่มีอยู่แล้วในเช็กพอยต์ที่ผ่านการตรวจสอบออก

รุ่น Bash จะปฏิเสธชื่อไฟล์ที่มีแท็บ อักขระขึ้นบรรทัดใหม่แบบ carriage return หรืออักขระขึ้นบรรทัดใหม่ เนื่องจากรายการ --files-from-raw ที่คั่นด้วยบรรทัดใหม่ไม่สามารถแทนชื่อเหล่านี้ได้อย่างไม่กำกวม หากมีชื่อดังกล่าว ให้ใช้รุ่น Python หรือรูปแบบรายการที่สร้างขึ้นเพื่อวัตถุประสงค์นี้โดยเฉพาะ

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

คำสั่งพื้นฐานสำหรับจัดทำรายการที่ Wrapper ใช้
rclone lsf "$SOURCE" \
  --recursive \
  --files-only \
  --format "sp" \
  --separator 
    
  

\t' > "$inventory"

หยุดพร้อมข้อผิดพลาดก่อนที่แบตช์จะใช้พื้นที่สำรอง

จำนวนไบต์ว่างในเครื่องมาจาก df บนระบบไฟล์ที่ใช้พักข้อมูล ส่วนจำนวนไบต์ว่างที่ปลายทางมาจาก rclone about --json โดยสคริปต์จะใช้ค่า free หากมีให้ มิฉะนั้นจะใช้ total ลบด้วย used สคริปต์จะตรวจสอบจำนวนไบต์ที่รอดำเนินการทั้งหมดก่อนเริ่มงาน และตรวจสอบความจุทั้งในเครื่องและที่ปลายทางอีกครั้งก่อนประมวลผลทุกแบตช์

ผู้ให้บริการหรือบัญชีบางประเภทไม่เผยแพร่โควตาที่มีขีดจำกัดผ่าน rclone สคริปต์ตัวครอบจะแสดงข้อจำกัดนี้และดำเนินการต่อภายใต้การบังคับใช้ของผู้ให้บริการ ให้ถือว่านี่เป็นเงื่อนไขที่ต้องมีการเฝ้าติดตาม ไม่ใช่หลักฐานว่ามีพื้นที่เพียงพอ

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

ตรวจสอบแต่ละฝั่งของขอบเขตพื้นที่พักข้อมูลภายในเครื่อง

แต่ละแบตช์ผ่านสองช่วงที่แยกจากกัน ช่วงแรก rclone จะคัดลอกพาธต้นทางที่เลือกไปยังพื้นที่พักข้อมูลในเครื่องโดยใช้ --ignore-existing จากนั้น check --download จะอ่านข้อมูลทั้งสองฝั่งและเปรียบเทียบเนื้อหาจริง ช่วงที่สอง rclone จะคัดลอกพาธที่พักไว้เหล่านั้นไปยังปลายทาง แล้วตรวจสอบทุกไบต์ด้วยวิธีเดียวกันอีกครั้ง

--ignore-existing ช่วยให้การทำงานที่ถูกขัดจังหวะไม่ทำลายข้อมูล กล่าวคือจะไม่เขียนทับออบเจ็กต์ที่มีอยู่ แต่การตรวจสอบยังคงต้องผ่านก่อนจึงจะบันทึกพาธลงในเช็กพอยต์ได้ หากข้อมูลที่ปลายทางแตกต่างออกไป rclone check จะล้มเหลว และการจัดการข้อผิดพลาดแบบเข้มงวดของ Bash จะหยุดการทำงาน

การใช้ --download จะช้ากว่าและใช้การดำเนินการส่งข้อมูลออก/อ่านข้อมูลของผู้ให้บริการ แต่ช่วยหลีกเลี่ยงการพึ่งพาเพียงว่าผู้ให้บริการสองรายรองรับอัลกอริทึมแฮชเดียวกันหรือไม่ คำสั่งนี้จะไม่แก้ไขข้อมูลของทั้งสองฝั่ง

สองช่วงของการคัดลอกและตรวจสอบ
rclone copy "$SOURCE" "$STAGING_DIR" \
  --files-from-raw "$batch_list" \
  --ignore-existing --retries 6 --low-level-retries 20

rclone check "$SOURCE" "$STAGING_DIR" \
  --files-from-raw "$batch_list" --one-way --download

rclone copy "$STAGING_DIR" "$DESTINATION_ROOT" \
  --files-from-raw "$batch_list" \
  --ignore-existing --retries 6 --low-level-retries 20

rclone check "$STAGING_DIR" "$DESTINATION_ROOT" \
  --files-from-raw "$batch_list" --one-way --download

ถ่ายโอนจาก OneDrive ไปยัง Google Drive ด้วยพื้นที่พักข้อมูลที่จำกัดขนาด

ตัวอย่างนี้เว้นพื้นที่ดิสก์ในเครื่องไว้ 15 GiB เว้นพื้นที่ว่างใน Google Drive ไว้ 10 GiB จำกัดแบตช์ปกติไว้ที่ 8 GiB หรือ 200 ไฟล์ และใช้การถ่ายโอนพร้อมกันสี่รายการ เนื้อหาปลายทางจะถูกเขียนไว้ในโฟลเดอร์ใหม่ที่ระบุวันที่

ใช้ --dry-run ก่อน ตัวเลือกนี้จะจัดทำรายการข้อมูลต้นทางและตรวจสอบโควตาปลายทางล่วงหน้าโดยไม่ดาวน์โหลดหรืออัปโหลด สคริปต์ตัวครอบจะแสดงจำนวนไบต์ที่รอดำเนินการทั้งหมด ซึ่งควรตรวจสอบให้ตรงกับขอบเขตการย้ายข้อมูลก่อนเรียกใช้แบตช์จริงครั้งแรก

ตรวจสอบล่วงหน้า แล้วดำเนินการกับขอบเขตเดิม
./fileark-cloud-transfer.sh \
  --source onedrive: \
  --destination gdrive: \
  --destination-folder "OneDrive archive 2026-07-25" \
  --staging-dir /srv/fileark-staging \
  --state-file ./onedrive-to-google-verified.txt \
  --batch-gib 8 \
  --batch-files 200 \
  --local-reserve-gib 15 \
  --destination-reserve-gib 10 \
  --transfers 4 \
  --checkers 8 \
  --dry-run

# Remove only --dry-run after reviewing the preflight.

สลับทิศทางโดยไม่ใช้สถานะเดิมซ้ำ

Wrapper นี้ไม่ผูกกับผู้ให้บริการรายใด เนื่องจาก rclone เป็นผู้จัดการอะแดปเตอร์ของรีโมต หากต้องการคัดลอก Google Drive ไปยัง OneDrive ให้สลับอาร์กิวเมนต์รีโมต และกำหนดโฟลเดอร์ปลายทาง พาธพักข้อมูล และไฟล์เช็กพอยต์ใหม่สำหรับการทำงานครั้งนั้น

Docs, Sheets, Slides และรูปแบบเสมือนอื่นๆ ที่เป็นรูปแบบเฉพาะของ Google ต้องมีการกำหนดค่าการส่งออกของ rclone และตรวจสอบอย่างรอบคอบ โปรดยืนยันนามสกุลไฟล์ที่ส่งออกและลักษณะการแปลงด้วยชุดข้อมูลทดสอบ การคัดลอกด้วยเชลล์จะไม่เก็บรักษาประวัติการทำงานร่วมกันของ Google, ทางลัด, สิทธิ์ หรือข้อมูลเมตาเฉพาะของ Microsoft

Google Drive ไปยัง OneDrive
./fileark-cloud-transfer.sh \
  --source gdrive: \
  --destination onedrive: \
  --destination-folder "Google archive 2026-07-25" \
  --staging-dir /srv/google-staging \
  --state-file ./google-to-onedrive-verified.txt \
  --batch-gib 8 \
  --local-reserve-gib 15

บันทึกเช็กพอยต์หลังตรวจสอบปลายทางแล้วเท่านั้น

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

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

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

ถือว่าทุกการออกจากโปรแกรมด้วยค่าที่ไม่ใช่ศูนย์เป็นแบตช์ที่ยังไม่ได้รับการแก้ไข

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

รักษาความปลอดภัยให้โฮสต์ที่ทำหน้าที่เป็นระนาบข้อมูล

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

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

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

ปิดงานย้ายข้อมูลด้วยหลักฐาน ไม่ใช่เพียงสถานะคำสั่งสีเขียว

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

คำถามที่พบบ่อย

เหตุใดสคริปต์ Bash จึงใช้ rclone copy แทน sync

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

rclone check --download เปลี่ยนแปลงข้อมูลในคลาวด์ใดคลาวด์หนึ่งหรือไม่

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

จะเกิดอะไรขึ้นหากปลายทางมีไฟล์อยู่แล้ว

การคัดลอกใช้ --ignore-existing แล้วจึงตรวจสอบทุกไบต์ ออบเจ็กต์ที่เหมือนกันจะผ่านการตรวจสอบ ส่วนออบเจ็กต์ที่ต่างกันจะทำให้การตรวจสอบล้มเหลว สคริปต์จะไม่เขียนทับไฟล์ที่ขัดแย้งกัน

สคริปต์รองรับไฟล์ที่ใหญ่กว่าหนึ่งแบตช์หรือไม่

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

วิธีนี้ย้ายสิทธิ์ เวอร์ชัน หรือข้อมูลการทำงานร่วมกันที่เป็นรูปแบบเฉพาะของระบบคลาวด์ด้วยหรือไม่

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

แหล่งข้อมูลอย่างเป็นทางการที่ใช้จัดทำคู่มือนี้

อ่านคู่มือ