ลบเวอร์ชันไฟล์ ownCloud อย่างปลอดภัยด้วยคำสั่ง occ
ลบไฟล์เวอร์ชัน ownCloud Server Classic ที่จัดเก็บไว้ทั้งหมดสำหรับบัญชีเดียวหรือผู้ใช้ทั้งหมด และแยกความแตกต่างระหว่างการลบแบบสมบูรณ์กับการหมดอายุตามระยะเวลาการเก็บรักษา
สำหรับownCloud Server Classicคำสั่งผู้ดูแลระบบสำหรับการลบเวอร์ชันไฟล์ที่บันทึกไว้คือocc versions:cleanupเพิ่มรหัสผู้ใช้หนึ่งรายการขึ้นไปเพื่อจำกัดการลบ ละเว้นรหัสผู้ใช้เฉพาะเมื่อคุณต้องการลบประวัติเวอร์ชันสำหรับผู้ใช้ทุกคน การดำเนินการนี้เป็นการทำลายข้อมูล ดังนั้นโปรดสำรองข้อมูลฐานข้อมูล ownCloud และพื้นที่จัดเก็บไฟล์ก่อน
ตัวอย่างสมมติ:อเล็กซ์ดูแลเซิร์ฟเวอร์ ownCloud รุ่นคลาสสิก และต้องการลบเวอร์ชันเก่าของบัญชีทดสอบที่เลิกใช้งานแล้วชื่อ [ชื่อบัญชีทดสอบ] demo_userตัวอย่างสมมตินี้แสดงคำสั่งที่ต้องการลบและเปรียบเทียบกับวิธีการล้างข้อมูลทั้งเซิร์ฟเวอร์ โดยไม่ได้อธิบายถึงการทำงานจริงหรือผลลัพธ์
ขั้นตอนด้านล่างนี้ใช้occคำสั่งในบรรทัดคำสั่งที่ระบุไว้สำหรับ ownCloud Server 10.16 ขั้นตอนเหล่านี้ใช้ไม่ได้กับ ownCloud Infinite Scale (oCIS) ซึ่งใช้ชุดคำสั่งที่แตกต่างกัน หากคุณไม่แน่ใจว่าติดตั้งผลิตภัณฑ์ใด โปรดตรวจสอบกับผู้ดูแลระบบก่อนดำเนินการล้างข้อมูล
ในการติดตั้ง Linux ทั่วไป ให้เปลี่ยนไปยังไดเร็กทอรีการติดตั้ง ownCloud เส้นทางต่อไปนี้เป็นตัวอย่างสำหรับ Ubuntu โปรดใช้เส้นทางจริงของคุณ:
cd /var/www/owncloud
ตรวจสอบให้แน่ใจว่าแอป Versions เปิดใช้งานอยู่ และยืนยันรหัสบัญชีที่คุณต้องการใช้งาน:
sudo -u www-data ./occ app:list --enabled files_versions

files_versionsแอปนั้นเปิดใช้งานอยู่ก่อนที่จะใช้คำสั่งล้างข้อมูลของแอปนั้นเอกสารอ้างอิง ownCloud ระบุว่าคำสั่งเวอร์ชันจะใช้งานได้เฉพาะเมื่อfiles_versionsเปิดใช้งานเท่านั้น และจะไม่สามารถใช้งานได้ในโหมดบำรุงรักษาแบบผู้ใช้คนเดียว เรียกใช้occคำสั่งในฐานะผู้ใช้ HTTP ของเว็บเซิร์ฟเวอร์เพื่อให้สิทธิ์การเข้าถึงไฟล์สอดคล้องกัน บน Debian หรือ Ubuntu โดยปกติจะเป็นผู้www-dataใช้ ส่วนระบบปฏิบัติการอื่นๆ อาจใช้บัญชีที่แตกต่างกัน ดูเอกสารอ้างอิงคำสั่ง occ ของ ownCloud
ก่อนลบประวัติการใช้งาน โปรดสำรองข้อมูลโดยใช้ขั้นตอนการสำรองข้อมูล ownCloud ตามปกติ รวมถึงฐานข้อมูลและตำแหน่งจัดเก็บข้อมูลที่เก็บไฟล์และเวอร์ชันของผู้ใช้ ตรวจสอบให้แน่ใจว่าการสำรองข้อมูลเสร็จสมบูรณ์และสามารถกู้คืนได้ การสำรองข้อมูลเฉพาะฐานข้อมูลอาจไม่มีไฟล์เวอร์ชันจริง
สำหรับกรณีสมมติของอเล็กซ์ ขอบเขตที่ต้องการคือเพียงแค่demo_userรหัสผู้ใช้ต้องตรงกับบัญชีบนเซิร์ฟเวอร์นี้ ห้ามแทนที่ด้วยที่อยู่อีเมล ชื่อที่แสดง หรือผู้ใช้อื่น เนื่องจากคำสั่งนี้ยอมรับเฉพาะรหัสผู้ใช้เท่านั้น โปรดตรวจสอบตัวระบุบัญชีในการจัดการผู้ใช้ของ ownCloud ก่อนเรียกใช้คำสั่ง โดยเฉพาะอย่างยิ่งหากชื่อในบริการไดเร็กทอรีแตกต่างจากรหัสล็อกอิน
หากเป้าหมายคือการลบเวอร์ชันเก่าทั้งหมดสำหรับบัญชีนี้ ให้ใช้คำversions:cleanupสั่งนี้ ไม่มีตัวเลือกการทดสอบก่อนดำเนินการ (dry-run) ที่ระบุไว้สำหรับคำสั่งนี้ ดังนั้นโปรดตรวจสอบเป้าหมายและสำรองข้อมูลก่อนดำเนินการ อย่าตั้งค่าเซิร์ฟเวอร์ให้อยู่ในโหมดบำรุงรักษาผู้ใช้คนเดียวสำหรับการดำเนินการนี้: ownCloud ระบุว่าคำสั่งเวอร์ชันไม่สามารถใช้งานได้ในโหมดนั้น
สำหรับการติดตั้งบนระบบ Linux ทั่วไป ให้รันคำสั่งจากไดเร็กทอรี ownCloud โดยใช้ผู้ใช้ HTTP ส่วนบนระบบ Debian หรือ Ubuntu นั้น Alex จะรันคำสั่งดังนี้:
sudo -u www-data ./occ versions:cleanup demo_user

demo_userข้อจำกัดจะจำกัดการล้างข้อมูลเฉพาะในบัญชี ownCloud นั้นเท่านั้นในไวยากรณ์ที่ระบุไว้versions:cleanup [user_id]...จะยอมรับรหัสบัญชีอย่างน้อยหนึ่งรหัส หากไม่ได้ระบุรหัส ระบบจะลบไฟล์เวอร์ชันสำหรับผู้ใช้ทั้งหมด ใช้รูปแบบทั่วโลกหลังจากอนุมัติขอบเขตนั้นอย่างชัดเจนแล้วเท่านั้น:
sudo -u www-data ./occ versions:cleanup

ตัวอย่างของ ownCloud แสดงคำสั่งที่ระบุผู้ใช้ทั้งหมดสำหรับการลบเมื่อไม่ได้ระบุ ID; การระบุ ID จะจำกัดการดำเนินการให้เหลือเฉพาะบัญชีเหล่านั้น คู่มือยังระบุด้วยว่าเวอร์ชันหลักถาวรที่เผยแพร่แล้วสามารถลบได้โดยผู้ดูแลระบบด้วยคำสั่งนี้ แม้ว่านโยบายการเก็บรักษาปกติจะไม่ทำให้หมดอายุก็ตาม ตรวจสอบกับเจ้าของเนื้อหาก่อนที่จะลบบัญชีที่อาจมีการแก้ไขที่ได้รับการอนุมัติหรือเผยแพร่แล้ว อย่าเพิ่ม--no-interactionเพื่อข้ามข้อความแจ้งเตือน สำหรับการติดตั้งคอนเทนเนอร์ รูปแบบที่บันทึกไว้คือdocker exec --user www-data <owncloud-container-name> occ <your-command>; แทนที่ตัวยึดตำแหน่งด้วยชื่อคอนเทนเนอร์จริงและคำสั่งที่คุณเลือก ปรึกษาคำแนะนำของ Docker และ occหากการปรับใช้ของคุณใช้ผู้ใช้คอนเทนเนอร์ที่แตกต่างกัน
หากอเล็กซ์ต้องการให้ ownCloud ลบเฉพาะเวอร์ชันที่หมดอายุตามนโยบายการเก็บรักษาที่กำหนดไว้ คำสั่งที่เหมาะสมกว่าคือ:
sudo -u www-data ./occ versions:expire demo_user

versions:expireระบบจะใช้กฎการเก็บรักษาที่กำหนดค่าไว้ ไม่ได้รับประกันว่าจะลบทุกเวอร์ชันที่บันทึกไว้เอกสารอ้างอิง ownCloud ระบุversions:expireว่าการลบเวอร์ชันจะทำเฉพาะเวอร์ชันที่หมดอายุตามเงื่อนไขเท่านั้นversions_retention_obligationในทางตรงกันข้าม การตั้งค่าversions:cleanupนี้จะลบเวอร์ชันทั้งหมดภายในขอบเขตที่เลือกไว้ โปรดตรวจสอบการตั้งค่าการเก็บรักษาเวอร์ชันที่ระบุไว้ในเอกสารก่อนเปลี่ยนแปลงนโยบาย การตั้งค่านี้disabledจะปิดใช้งานการลบเวอร์ชัน แต่จะไม่ลบเวอร์ชันที่จัดเก็บไว้แล้ว
บทความนี้กล่าวถึง ownCloud Server Classic ส่วน Infinite Scale มีคำสั่งล้างข้อมูลเวอร์ชันของตัวเอง โปรดปฏิบัติตามเอกสารการล้างข้อมูลเวอร์ชันของ oCISแทนการใช้คำ สั่ง occดังกล่าว
หลังจากคำสั่งทำงานเสร็จสมบูรณ์โดยไม่มีข้อผิดพลาด ให้เปิดมุมมองเวอร์ชันสำหรับไฟล์ที่เป็นของบัญชีเป้าหมาย ตรวจสอบว่าไม่มีเวอร์ชันก่อนหน้าแสดงอยู่ และไฟล์ปัจจุบันยังคงอยู่ สำหรับการล้างข้อมูลผู้ใช้ทั้งหมด ให้ตรวจสอบบัญชีตัวแทนแทนที่จะคิดว่าคำสั่งที่กำหนดเป้าหมายทำงานทั่วโลก เก็บสำเนาสำรองไว้จนกว่าเจ้าของจะยืนยันว่าไม่ต้องการเวอร์ชันเก่าอีกต่อไป หากจุดประสงค์ของคุณคือการปฏิบัติตามกำหนดการเก็บรักษา ให้ใช้versions:expireและตรวจสอบกับนโยบายนั้นแทนที่จะคาดหวังว่าจะล้างข้อมูลทั้งหมดในทันที
คำสั่งนี้ใช้สำหรับจัดการเวอร์ชันของไฟล์โดยเฉพาะ ไม่ได้ล้างรายการในถังขยะ "ไฟล์ที่ถูกลบ" ไม่ได้ลบไฟล์สำรอง หรือลบไฟล์ปัจจุบันแต่อย่างใด โปรดจัดการสิ่งเหล่านั้นเป็นงานเก็บรักษาข้อมูลที่แยกต่างหาก อย่าลบไดเร็กทอรีเวอร์ชันด้วยตนเองเพื่อใช้แทนคำสั่งที่ระบุไว้ในเอกสาร
ลบไฟล์เวอร์ชัน ownCloud Server Classic ที่จัดเก็บไว้ทั้งหมดสำหรับบัญชีเดียวหรือผู้ใช้ทั้งหมด และแยกความแตกต่างระหว่างการลบแบบสมบูรณ์กับการหมดอายุตามระยะเวลาการเก็บรักษา
ตรวจสอบหาสาเหตุการปฏิเสธการเชื่อมต่อ ownCloud บนมือถือโดยตรวจสอบ URL ของเซิร์ฟเวอร์ เครือข่ายโทรศัพท์ จุดเชื่อมต่อ HTTPS และบันทึกของเซิร์ฟเวอร์ตามลำดับที่ถูกต้อง
แทนที่การเรียกใช้งานงานตามความต้องการด้วยตัวจับเวลา systemd ที่เรียกใช้คำสั่ง occ system:cron ที่ ownCloud รองรับทุกๆ 15 นาที
ตรวจสอบการร้องขอ WebDAV ผ่าน Apache, Nginx หรือพร็อกซีแบบย้อนกลับ จากนั้นยืนยันว่าการซิงค์ ownCloud ทำงานได้โดยใช้การทดสอบ PROPFIND ที่มีการตรวจสอบสิทธิ์
แก้ไขข้อความเตือน "ที่อยู่ขาออกหายไป" ของ Nextcloud โดยการตั้งค่า URL หลัก และตรวจสอบ DNS, HTTPS และการกำหนดเส้นทางพร็อกซีแบบย้อนกลับจากตัวเซิร์ฟเวอร์เอง
ตั้งค่า APCu และ Redis ผ่านซ็อกเก็ต Unix ในเครื่องเพื่อใช้ในการแคชและล็อกไฟล์ของ Nextcloud โดยมีขั้นตอนสำหรับ Nextcloud เวอร์ชันปัจจุบันและเวอร์ชันเก่า
ตรวจสอบโหมด cron ของ Nextcloud ซ่อมแซมบริการ systemd และตัวจับเวลา และตรวจสอบว่างานเบื้องหลังทำงานหลังจากเริ่มต้นระบบและทุกๆ ห้านาที
เปิดใช้งานการล็อกไฟล์ที่เชื่อถือได้ของ Nextcloud เลือกแบ็กเอนด์ Redis หรือ Valkey ที่เหมาะสม และตรวจสอบว่าคำเตือนหายไปโดยไม่มีความเสี่ยงต่อการเปลี่ยนแปลงไฟล์พร้อมกัน
แก้ไขปัญหาที่พบได้ทั่วไปในการสแกน Nextcloud ด้วยการอัปเดตล่าสุด, HTTPS และ HSTS, การตั้งค่าความน่าเชื่อถือของพร็อกซีแบบย้อนกลับอย่างแม่นยำ และการตรวจสอบกับเซิร์ฟเวอร์สาธารณะ
กำหนดค่า Nextcloud SSE สำหรับพื้นที่จัดเก็บข้อมูลที่ต้องการ ปกป้องคีย์การเข้ารหัส และวัดผลกระทบต่อการถ่ายโอนข้อมูลและ CPU ก่อนที่จะเข้ารหัสไฟล์ที่มีอยู่