เพื่อนร่วมงานลาออก โครงการย้ายไปทีมอื่น หรือโฟลเดอร์ที่แชร์ยังคงเป็นของบัญชีที่กำลังจะถูกปิดใช้งาน ไฟล์อาจปรากฏในมุมมอง ownCloud ของผู้รับ แต่ผู้รับอาจเข้าถึงได้ผ่านการแชร์เท่านั้น หากบัญชีเดิมถูกลบ ความแตกต่างนี้อาจกลายเป็นปัญหาได้
สำหรับ ownCloud Server 10.x ผู้ดูแลระบบสามารถโอนกรรมสิทธิ์ได้โดยใช้เครื่องมือบรรทัดคำสั่งocc files:transfer-ownershipไม่มีปุ่ม “ทำให้ฉันเป็นเจ้าของ” ที่ผู้ใช้เห็นได้ทั่วไปตามที่อธิบายไว้ในเอกสารประกอบของ Server 10.16 คำสั่งนี้จะย้ายไฟล์ที่เป็นของบัญชีหนึ่งและแชร์ขาออกไปยังอีกบัญชีหนึ่ง ส่วนแชร์ขาเข้าจะไม่ถูกโอนย้าย ขั้นตอนด้านล่างนี้ใช้คำสั่งอ้างอิง ownCloud Server 10.16 ฉบับปัจจุบัน โปรดตรวจสอบเอกสารประกอบสำหรับเวอร์ชันและการกำหนดค่าพื้นที่จัดเก็บข้อมูลที่คุณใช้งานก่อนดำเนินการเปลี่ยนแปลงกรรมสิทธิ์
ขั้นแรก ให้ระบุว่าอะไรบ้างที่ต้องเคลื่อนย้าย
คำว่า “แชร์กับฉัน” ไม่ได้หมายความว่า “ฉันเป็นเจ้าของ” เสมอไป ใน ownCloud บัญชีที่สร้างหรือเป็นเจ้าของไฟล์สามารถแชร์ไฟล์นั้นกับผู้ใช้รายอื่นได้ ผู้รับอาจสามารถอ่านหรือแก้ไขรายการที่แชร์ได้โดยไม่จำเป็นต้องเป็นเจ้าของ หากคุณเป็นผู้รับ ขั้นตอนต่อไปที่ถูกต้องมักจะเป็นการขอให้เจ้าของเดิมหรือผู้ดูแลระบบย้ายรายการนั้น
คำสั่งถ่ายโอน (Transfer) เป็นการดำเนินการของผู้ดูแลระบบบนโฮสต์เซิร์ฟเวอร์ ownCloud คำสั่งนี้สามารถย้ายไฟล์ทั้งหมดที่เป็นของผู้ใช้ต้นทาง หรือโฟลเดอร์ที่เลือกและเนื้อหาภายในโฟลเดอร์นั้นได้ โดยเส้นทางที่เลือกจะต้องมีอยู่ในไดเร็กทอรีไฟล์ของผู้ใช้นั้น คำสั่งนี้จะไม่ถ่ายโอนแชร์ขาเข้า เนื้อหาในถังขยะ หรือไฟล์เวอร์ชันเก่า เอกสารอ้างอิงคำสั่ง ownCloud Server 10.16 OCC อย่างเป็นทางการ จะอธิบายคำสั่งและตัวเลือกต่างๆ
คู่มือนี้ครอบคลุม ownCloud Server (ผลิตภัณฑ์เวอร์ชันคลาสสิก 10.x) ownCloud Infinite Scale เป็นผลิตภัณฑ์ที่แตกต่างออกไป มีสถาปัตยกรรมและส่วนติดต่อผู้ใช้ที่แตกต่างกัน อย่าคิดว่าคำสั่ง Server นี้หรือผลลัพธ์ที่ได้จะใช้ได้กับการติดตั้ง Infinite Scale โปรดตรวจสอบเอกสารประกอบสำหรับผลิตภัณฑ์ที่คุณติดตั้งไว้
เลือกขอบเขตการถ่ายโอนที่เหมาะสม
| ความต้องการ | เข้าใกล้ | สิ่งที่ควรคำนึงถึง |
| ย้ายโฟลเดอร์โปรเจ็กต์หนึ่งโฟลเดอร์ | ใช้--pathโดยระบุพาธที่สัมพันธ์กับไดเร็กทอรีไฟล์ของผู้ใช้ต้นทาง | โฟลเดอร์และไฟล์ย่อยภายในโฟลเดอร์นั้นจะถูกจัดเก็บไว้ในโฟลเดอร์โอนย้ายที่มีการประทับเวลาสำหรับผู้รับ |
| ย้ายไฟล์ทั้งหมดที่เป็นของบัญชีนั้น | เรียกใช้คำสั่งโดยระบุเฉพาะรหัสผู้ใช้ต้นทางและปลายทางเท่านั้น | ไฟล์ที่แชร์ออกไปจะถูกย้ายไปพร้อมกับไฟล์อื่น ส่วนไฟล์ที่แชร์เข้ามาจะไม่ถูกย้ายไปด้วย |
| ปิดบัญชี | โอนย้ายข้อมูลก่อน ตรวจสอบผลลัพธ์ จากนั้นทำตามขั้นตอนการลบบัญชีขององค์กรของคุณ | อย่าปิดใช้งานหรือลบบัญชีต้นทางจนกว่าจะตรวจสอบข้อมูลและการแชร์ที่จำเป็นเรียบร้อยแล้ว |
| ย้ายไฟล์โดยตรงไปยังพื้นที่ไฟล์ระดับบนสุดของผู้ใช้ใหม่ | พิจารณา--destination-use-user-folderเฉพาะกรณีพิเศษที่มีการบันทึกไว้เท่านั้น | บัญชีปลายทางต้องมีอยู่จริงและต้องไม่เคยเข้าสู่ระบบมาก่อน นี่ไม่ใช่ขั้นตอนการโอนย้ายแบบเลือกเฉพาะตามปกติ |
ก่อนที่คุณจะรันคำสั่ง
- ตรวจสอบผลิตภัณฑ์และเวอร์ชันยืนยันว่าเป็น ownCloud Server 10.x ไม่ใช่ ownCloud Infinite Scale และอ่านคู่มือคำสั่งสำหรับเวอร์ชันที่ติดตั้งไว้
- ยืนยันรหัสบัญชีทั้งสองบัญชีใช้รหัสผู้ใช้ ownCloud จริง ไม่ใช่ชื่อที่แสดงหรือที่อยู่อีเมล เว้นแต่ว่านั่นคือรหัสผู้ใช้ ตรวจสอบการสะกดคำอย่างระมัดระวัง: ต้นทางและปลายทางเป็นอาร์กิวเมนต์ตำแหน่ง
- ตรวจสอบผลกระทบจากการแชร์คำสั่งนี้สามารถย้ายการแชร์ขาออกที่เป็นของบัญชีต้นทางได้ การแชร์ขาเข้าจะไม่รวมอยู่ในเงื่อนไขนี้ แจ้งให้ผู้ร่วมงานทราบเกี่ยวกับการเปลี่ยนแปลงความเป็นเจ้าของหรือการเข้าถึงที่คาดว่าจะเกิดขึ้น
- ทำการสำรองข้อมูลและตรวจสอบความถูกต้อง ปฏิบัติตามขั้นตอนการสำรองข้อมูลปกติของเว็บไซต์สำหรับฐานข้อมูลและพื้นที่จัดเก็บข้อมูล การถ่ายโอนไฟล์จะเปลี่ยนความเป็นเจ้าของและความสัมพันธ์ในการแชร์ ดังนั้นการสำรองข้อมูลที่สามารถกู้คืนได้จึงเป็นแผนการย้อนกลับที่ปลอดภัยกว่า
- ตรวจสอบรายละเอียดการจัดเก็บและการติดตั้งยืนยันไดเร็กทอรีการติดตั้ง ownCloud และบัญชีเว็บเซิร์ฟเวอร์ที่ถูกต้อง ในการติดตั้ง Linux มาตรฐาน บัญชีนั้นมักจะเป็น
www-dataแต่แพ็กเกจและคอนเทนเนอร์อาจแตกต่างกันไป
หากคุณใช้พื้นที่จัดเก็บข้อมูลหลักที่เข้ากันได้กับ S3 โดยมีหลายบัคเก็ต โปรดหยุดและตรวจสอบคำเตือนเฉพาะพื้นที่จัดเก็บข้อมูลในเอกสารอย่างเป็นทางการของ ownCloud เกี่ยวกับพื้นที่จัดเก็บข้อมูลหลักที่เข้ากันได้กับ S3 เอกสารระบุว่าไม่แนะนำให้โอนกรรมสิทธิ์ในรูปแบบดังกล่าว เนื่องจากอาจสูญเสียส่วนแบ่งการเป็นเจ้าของได้
ถ่ายโอนโฟลเดอร์ที่แชร์ที่เลือกไว้
ใช้การถ่ายโอนแบบเลือกเฉพาะเมื่อปลายทางต้องการโปรเจกต์หรือชุดไฟล์ขนาดเล็ก แทนที่จะเป็นคอลเลกชันไฟล์ทั้งหมดของผู้ใช้ต้นทาง ตัวอย่างด้านล่างแสดงการถ่ายโอนโฟลเดอร์ชื่อProjects/Proposalจากผู้ใช้ ID หนึ่งaliceไปยังผู้ใช้ ID bobหนึ่ง
- เปิดเชลล์บนโฮสต์เซิร์ฟเวอร์ ownCloud แล้วไปยังไดเร็กทอรีที่มี
occสคริปต์อยู่ ใช้เส้นทางที่ตรงกับการติดตั้งของคุณ
- ตรวจสอบตัวเลือกของคำสั่งก่อนเรียกใช้:
sudo -u www-data ./occ files:transfer-ownership --help
- เรียกใช้การถ่ายโอนแบบเลือก ตัวอย่างเส้นทางนี้เป็นเส้นทางสัมพัทธ์กับ
aliceไดเร็กทอรีไฟล์ ownCloud ของ ไม่ใช่เส้นทางระบบไฟล์ของเซิร์ฟเวอร์:
sudo -u www-data ./occ files:transfer-ownership \
--path="Projects/Proposal" \
alice \
bob
www-dataหากการติดตั้งของคุณใช้บัญชีบริการอื่นให้แก้ไขในส่วนนี้ ในการใช้งานคอนเทนเนอร์ ให้ใช้รูปแบบคำสั่งที่ระบุไว้ในเอกสารของคอนเทนเนอร์ แทนที่จะคัดลอกคำสั่งจากโฮสต์โดยตรง ตัวอย่างเช่น เอกสารสำหรับนักพัฒนาของ ownCloud แสดงรูปแบบ Docker Compose ดังนี้ docker compose exec owncloud occ ...; ชื่อบริการจะแตกต่างกันไปตามการใช้งาน
คำสั่งนี้จะย้ายโฟลเดอร์ที่เลือกและเนื้อหาภายในไปยังพื้นที่ไฟล์ของผู้ใช้ปลายทาง ภายใต้โฟลเดอร์ที่มีชื่อตามรูปแบบที่กำหนดtransferred from alice on [timestamp]โดยจะไม่คงตำแหน่งระดับบนสุดเดิมไว้ โปรดตรวจสอบบัญชีปลายทางเพื่อดูโฟลเดอร์ที่ถ่ายโอนนี้หลังจากคำสั่งทำงานเสร็จสมบูรณ์
โอนทุกอย่างที่เป็นกรรมสิทธิ์ของบัญชีเดียว
หากผู้ใช้กำลังจะออกจากระบบ และเป้าหมายคือการย้ายไฟล์ทั้งหมดที่เป็นของผู้ใช้เองและไฟล์ที่แชร์ออกไป ให้ละเว้น--path:
sudo -u www-data ./occ files:transfer-ownership \
alice \
bob
อ่านข้อความยืนยันก่อนยอมรับ คำสั่งอาจรายงานว่าไม่สามารถถ่ายโอนไฟล์ที่แชร์ได้--accept-skipped-sharesตัวเลือกนี้จะบอกให้ ownCloud ดำเนินการต่อเมื่อข้ามการแชร์บางรายการ ใช้เฉพาะเมื่อคุณเข้าใจและยอมรับผลลัพธ์นั้น อย่าเพิ่มตัวเลือกนี้เพียงเพื่อระงับข้อความแจ้งเตือน
นอกจากนี้ยังมี--destination-use-user-folderตัวเลือกสำหรับการย้ายข้อมูลผู้ใช้แบบเต็มรูปแบบโดยเฉพาะ ผู้ใช้ปลายทางต้องถูกสร้างขึ้นแล้ว แต่ต้องไม่เคยเข้าสู่ระบบมาก่อน ownCloud แนะนำให้ใช้โหมดบำรุงรักษาสำหรับการดำเนินการดังกล่าว เนื่องจากมีข้อกำหนดเบื้องต้นที่เข้มงวดกว่าและเปลี่ยนแปลงตำแหน่งที่ข้อมูลจะถูกจัดเก็บ จึงไม่ควรใช้สำหรับการส่งต่อข้อมูลทั่วไปหรือการย้ายข้อมูลแบบเลือกเฉพาะ
ตรวจสอบผลลัพธ์และแก้ไขปัญหาหุ้นที่ถูกข้ามไป
- ลงชื่อเข้าใช้ในฐานะผู้ใช้ปลายทาง หรือขอให้พวกเขาตรวจสอบพื้นที่ไฟล์ของตน สำหรับการถ่ายโอนแบบเลือกเฉพาะ ให้ยืนยัน
transferred from …โฟลเดอร์ที่มีการประทับเวลาและเปิดไฟล์ตัวอย่าง
- ตรวจสอบว่าโครงสร้างโฟลเดอร์ที่คาดหวังและเนื้อหาไฟล์ล่าสุดมีอยู่ครบถ้วน เอกสารอ้างอิงคำสั่งของ Server 10.16 ระบุว่าเวอร์ชันของไฟล์จะไม่ถูกถ่ายโอน มีเพียงเวอร์ชันล่าสุดเท่านั้นที่จะปรากฏในบัญชีปลายทาง
- ตรวจสอบข้อมูลสำคัญเกี่ยวกับส่วนแบ่งหุ้นกับผู้ที่เกี่ยวข้อง เนื่องจากส่วนแบ่งที่ส่งออกไปจะเคลื่อนย้าย แต่ส่วนแบ่งที่รับเข้ามาจะไม่เคลื่อนย้าย ดังนั้นการโอนเงินจึงไม่ทำให้บัญชีปลายทางได้รับทุกรายการที่เคยโอนไปยังบัญชีต้นทาง
- เก็บรักษาบัญชีต้นทางให้ใช้งานได้จนกว่าเจ้าของบัญชีปลายทางและผู้ร่วมงานที่เกี่ยวข้องจะยืนยันการเข้าถึง ดำเนินการปิดใช้งานบัญชีให้เสร็จสมบูรณ์หลังจากตรวจสอบและทบทวนการเก็บรักษาข้อมูลตามปกติของคุณแล้วเท่านั้น
หากการถ่ายโอนรายงานข้อผิดพลาดหรือสิ้นสุดลงก่อนกำหนด ownCloud จะบันทึกข้อมูลfiles:troubleshoot-transfer-ownershipสำหรับตรวจสอบปัญหาที่เกี่ยวข้องกับการถ่ายโอน โดยค่าเริ่มต้นจะเป็นการทดสอบแบบจำลอง (dry run) ซึ่งจะรายงานผลการตรวจสอบ ตัวอย่างเช่น:
sudo -u www-data ./occ files:troubleshoot-transfer-ownership --uid bob
ตรวจสอบผลลัพธ์ก่อน คำสั่งนี้ยังมี--fixตัวเลือกในการลองซ่อมแซม ดังนั้นอย่าเพิ่มตัวเลือกนั้นโดยไม่ตรวจสอบปัญหาที่รายงานและมีข้อมูลสำรองล่าสุด การตรวจสอบและตัวเลือกที่มีอยู่จะแสดงอยู่ในเอกสารอ้างอิง OCC อย่างเป็นทางการฉบับเดียวกัน
การตรวจสอบตนเองครั้งสุดท้าย
- คุณใช้ instance, เวอร์ชัน, source ID และ destination ID ของ ownCloud Server ที่ถูกต้องหรือไม่
- คุณได้เลือกขอบเขตที่ต้องการแล้วหรือไม่: เส้นทาง หรือไฟล์ทั้งหมดที่เป็นของแหล่งที่มา?
- คุณได้คำนึงถึงการแชร์ขาออกที่ถูกข้าม การแชร์ขาเข้า เนื้อหาในถังขยะ และเวอร์ชันเก่าๆ แล้วหรือยัง?
- ผู้ใช้ปลายทางสามารถค้นหาและเปิดไฟล์ที่ถ่ายโอนได้หรือไม่ และผู้ร่วมงานที่ได้รับผลกระทบยังสามารถเข้าถึงสิ่งที่พวกเขาต้องการได้หรือไม่
- คุณได้ทำการสำรองข้อมูลที่ได้รับการตรวจสอบแล้ว และเลื่อนการลบบัญชีออกไปจนกว่าการส่งมอบจะได้รับการยืนยันหรือไม่?
การดำเนินการคำสั่งสำเร็จเป็นเพียงจุดเริ่มต้นของการส่งต่อเท่านั้น โปรดตรวจสอบตำแหน่งที่ตั้งใหม่ เนื้อหาไฟล์ และสิทธิ์การเข้าถึงการทำงานร่วมกันก่อนที่จะถือว่าการโอนกรรมสิทธิ์เสร็จสมบูรณ์