บรรทัดคำสั่งของ ownCloud สามารถเพิ่มพื้นที่จัดเก็บข้อมูลโดยการลบเวอร์ชันไฟล์ได้ แต่คำสั่งที่ถูกต้องนั้นขึ้นอยู่กับว่าคุณหมายถึง "การล้างข้อมูล" ในความหมายใด คุณสามารถกำหนดให้ ownCloud ลบเฉพาะเวอร์ชันที่ละเมิดนโยบายการเก็บรักษาที่กำหนดไว้ ลบทุกเวอร์ชันที่บันทึกไว้สำหรับบัญชีหนึ่งบัญชีขึ้นไป หรือลบทุกเวอร์ชันทั่วทั้งระบบ ตัวเลือกเหล่านี้มีความแตกต่างกันอย่างมากในด้านความสามารถในการย้อนกลับและขอบเขต ก่อนอื่นให้ตรวจสอบว่าเซิร์ฟเวอร์ของคุณเป็นownCloud ServerหรือownCloud Infinite Scaleเนื่องจากใช้เครื่องมือบรรทัดคำสั่งที่แตกต่างกัน
คำสั่งด้านล่างนี้อ้างอิงจากเอกสารการดูแลระบบ ownCloud Server เวอร์ชัน 10.16 และ 11.0 และคู่มือ Infinite Scale เวอร์ชัน 8.2 ที่ตรวจสอบเมื่อวันที่ 6 ตุลาคม 2026 เส้นทาง ชื่อบริการ และรหัสบัญชีอาจแตกต่างกันไปตามการติดตั้ง ดังนั้นโปรดปรับเปลี่ยนตัวอย่างก่อนนำไปใช้งานบนเซิร์ฟเวอร์จริง
เลือกวิธีการทำความสะอาดที่ตรงกับเป้าหมายของคุณ
| วิธี | สิ่งที่มันกำจัดออกไป | เหมาะสมที่สุด | ข้อแลกเปลี่ยนหลัก |
|---|
versions:expireบนเซิร์ฟเวอร์ ownCloud | เวอร์ชันที่ถือว่าหมดอายุตามกฎการเก็บรักษาที่กำหนดค่าไว้ | การบำรุงรักษาตามปกติและการควบคุมโควต้า | การดำเนินการนี้จะเก็บรักษาเวอร์ชันที่ยังอยู่ภายใต้การคุ้มครองของนโยบาย ดังนั้นจึงอาจไม่สามารถเรียกคืนพื้นที่ได้มากเท่ากับการลบข้อมูลทั้งหมดโดยทันที |
versions:cleanup USER_IDบนเซิร์ฟเวอร์ ownCloud | เวอร์ชันที่บันทึกไว้ทั้งหมดสำหรับบัญชีที่ระบุชื่อหรือบัญชีต่างๆ | การลบประวัติการใช้งานสำหรับบัญชีใดบัญชีหนึ่ง | ผู้ใช้ดังกล่าวจะไม่สามารถกู้คืนเวอร์ชันก่อนหน้าได้ รวมถึงเวอร์ชันที่เผยแพร่ไปแล้วด้วย |
versions:cleanupโดยไม่มีรหัสผู้ใช้ | เวอร์ชันที่บันทึกไว้ทั้งหมดสำหรับผู้ใช้ ownCloud Server ทุกคน | การปรับโครงสร้างองค์กรครั้งใหญ่ที่วางแผนไว้ | นี่เป็นการดำเนินการทำลายล้างในวงกว้าง และคำสั่งที่ระบุไว้ไม่มีตัวเลือกสำหรับการแสดงตัวอย่างล่วงหน้า |
ocis revisions purgeในระดับอนันต์ | โดยค่าเริ่มต้น การแก้ไขจะครอบคลุมทุกพื้นที่ หรืออาจเลือกขอบเขตทรัพยากรที่แคบลงเมื่อระบุไว้ | การปรับใช้ Infinite Scale ที่ต้องการการแก้ไขปรับปรุง | ลักษณะการทำงานในโหมดทดสอบและตัวเลือกเส้นทางการจัดเก็บข้อมูลนั้นแตกต่างจากoccคำสั่ง ของ ownCloud Server |
สำหรับการจัดการพื้นที่จัดเก็บข้อมูลแบบประจำ ให้เริ่มต้นด้วยนโยบายการเก็บรักษาข้อมูล และversions:expireใช้versions:cleanupเฉพาะเมื่อคุณต้องการลบประวัติที่เลือกไว้ในตอนนี้เท่านั้น
1. ยืนยันผลิตภัณฑ์ ownCloud และตำแหน่งคำสั่งของคุณ
สำหรับ ownCloud Server ให้เชื่อมต่อกับโฮสต์หรือคอนเทนเนอร์ที่รันแอปพลิเคชัน PHP แล้วเปลี่ยนไปยังไดเร็กทอรีการติดตั้ง ownCloud ซึ่งoccเป็นที่ตั้งของสคริปต์ รูปแบบทั่วไปใน Linux คือการรันคำสั่งโดยใช้บัญชีเว็บเซิร์ฟเวอร์ ซึ่งมักจะwww-dataเป็นwwwrun:
cd /var/www/owncloud
sudo -u www-data php occ status
ใช้เส้นทางการติดตั้งและบัญชีเว็บเซิร์ฟเวอร์ที่ถูกต้องสำหรับระบบของคุณ การเรียกใช้occในฐานะ root อาจทำให้ไฟล์ตกเป็นของบัญชีที่ไม่ถูกต้อง ดังนั้นให้ใช้บัญชีบริการตามที่ระบุไว้ในเอกสาร ตรวจสอบให้แน่ใจว่าแอป Versions files_versionsเปิดใช้งานอยู่ คำสั่งเวอร์ชันจะไม่สามารถใช้งานได้เมื่อแอปนั้นถูกปิดใช้งาน และจะไม่สามารถใช้งานได้ในโหมดบำรุงรักษาแบบผู้ใช้คนเดียว
คำสั่ง นี้occ statusจะตรวจสอบการติดตั้ง ownCloud Server ก่อนที่จะทำการล้างเวอร์ชัน
หาก ownCloud Server ทำงานใน Docker ให้รันคำสั่งภายในคอนเทนเนอร์ของแอปพลิเคชัน ตัวอย่างเช่น จากไดเร็กทอรีที่มีการกำหนดค่า Compose ของคุณ การปรับใช้สามารถใช้docker compose exec owncloud occ status; แทนที่owncloudด้วยชื่อบริการจริงในไฟล์ Compose ของคุณ อย่าใช้occตัวอย่างสำหรับ Infinite Scale
2. ตัดสินใจว่าจะคงประวัติการใช้งานไว้หรือลบประวัติทิ้ง
ใช้การหมดอายุเมื่อคุณต้องการล้างข้อมูลตามนโยบาย
versions:expireประเมินเวอร์ชันเทียบกับversions_retention_obligationการตั้งค่าในไฟล์config.php. หากไม่ระบุรหัสผู้ใช้ จะมีผลกับผู้ใช้ทั้งหมด คุณสามารถระบุรหัสผู้ใช้ได้หนึ่งรายการหรือมากกว่านั้น สำหรับบัญชีผู้ใช้เดียว คำสั่งคือ:
sudo -u www-data php occ versions:expire alice
แทนที่ด้วยรหัสบัญชีจริง ไม่ใช่ชื่อที่แสดงหรือที่อยู่อีเมลของบุคคลนั้น เว้นแต่ว่านั่นคือวิธีการระบุบัญชีในระบบของคุณ หากต้องการเรียกใช้กระบวนการหมดอายุกับทุกบัญชี ให้ละเว้นaliceตัวเลือกนี้จะเคารพกฎการเก็บรักษาที่กำหนดค่าไว้: จะไม่ลบเวอร์ชันล่าสุดหรือเวอร์ชันที่เก็บรักษาไว้โดยไม่จำเป็น
คำสั่ง นี้versions:expireจะนำนโยบายการเก็บรักษาข้อมูลที่กำหนดไว้ไปใช้กับบัญชีผู้ใช้ที่ระบุชื่อไว้บัญชีเดียว
เอกสารประกอบการใช้งาน ownCloud Server อธิบายautoถึงรูปแบบการเก็บรักษาข้อมูลเริ่มต้น และยังระบุถึงทางเลือกอื่นๆ ที่อิงตามเวลาด้วย โปรดตรวจสอบนโยบายของคุณก่อนที่จะดำเนินการหมดอายุ โดยเฉพาะอย่างยิ่งหากองค์กรของคุณมีข้อกำหนดด้านการเก็บรักษาข้อมูลทางกฎหมายหรือการดำเนินงาน สำหรับการหมดอายุแบบปกติที่เกิดขึ้นซ้ำๆ ownCloud จะดำเนินการนี้เป็นงานเบื้องหลัง คู่มือการดูแลระบบแนะนำให้ใช้ cron ของระบบสำหรับงานเบื้องหลัง การเรียกใช้การหมดอายุด้วยตนเองมีประโยชน์สำหรับการบำรุงรักษาตามแผน แต่ไม่ควรใช้เป็นสิ่งทดแทนแบบชั่วคราวสำหรับตัวกำหนดเวลาที่กำหนดค่าไว้อย่างถูกต้อง
ใช้ฟังก์ชันล้างข้อมูลเมื่อคุณต้องการลบทุกเวอร์ชันที่อยู่ในขอบเขตการใช้งาน
สำหรับบัญชีเดียว ให้รันคำสั่ง:
sudo -u www-data php occ versions:cleanup alice
สำหรับบัญชีหลายบัญชี โปรดระบุรหัสบัญชีโดยคั่นด้วยช่องว่าง:
sudo -u www-data php occ versions:cleanup alice bob
หากไม่มีการระบุ ID คำสั่งนี้จะลบไฟล์ที่มีการกำหนดเวอร์ชันทั้งหมดสำหรับผู้ใช้ทุกคน:
sudo -u www-data php occ versions:cleanup
การส่งรหัสบัญชีผู้ใช้จะจำกัดขอบเขตการล้างประวัติทั้งหมดให้กับผู้ใช้รายนั้น
หากจำเป็นต้องใช้เวอร์ชันเหล่านั้นในการกู้คืน โปรดสำรองข้อมูลก่อน และยืนยันรหัสบัญชีให้ถูกต้องก่อนดำเนินการ คำสั่งที่ระบุไว้จะลบข้อมูลเวอร์ชันและfiles_versionsโฟลเดอร์ที่เกี่ยวข้องภายในขอบเขตที่กำหนด นอกจากนี้ยังลบเวอร์ชันที่เผยแพร่แล้วซึ่งอาจคงอยู่เกินระยะเวลาการเก็บรักษาตามปกติ ไม่มีการระบุตัวเลือก "ดูตัวอย่างเท่านั้น" สำหรับ ownCloud Server versions:cleanupดังนั้นการพิมพ์ผิดหรือการลืมใส่รหัสอาจส่งผลกระทบมากกว่าที่ตั้งใจไว้
3. ทำความเข้าใจความแตกต่างระหว่าง ownCloud Server และ Infinite Scale
ownCloud Infinite Scale (oCIS) ไม่ได้ใช้occ versions:cleanupคำสั่ง PHP เอกสารการดูแลระบบอธิบายการล้างข้อมูลเวอร์ชันด้วยคำocis revisions purgeสั่งนี้ โดยค่าเริ่มต้นคำสั่งจะเป็นการทดสอบแบบจำลอง ซึ่งจะรายงานสิ่งที่จะถูกลบโดยไม่ลบเวอร์ชันจริง จำเป็นต้องระบุเส้นทางจัดเก็บข้อมูลของผู้ใช้ที่กำหนดค่าไว้ ตัวอย่างนี้ใช้เส้นทางตัวอย่าง:
ocis revisions purge -p /base/path/storage/users
ตรวจสอบผลลัพธ์จากการทดสอบจำลองและยืนยันว่าเส้นทางการจัดเก็บข้อมูลถูกต้อง หากต้องการลบเวอร์ชันที่แสดงในการทดสอบนั้น ให้ปิดใช้งานการทดสอบจำลองอย่างชัดเจน:
ocis revisions purge --dry-run=false -p /base/path/storage/users
โดยค่าเริ่มต้น คำสั่ง Infinite Scale จะกำหนดเป้าหมายไปยังเวอร์ชันต่างๆ ในทุกพื้นที่--resource-idตัวเลือกของคำสั่งนี้สามารถจำกัดการทำงานให้แคบลงไปยังพื้นที่หรือไฟล์แต่ละไฟล์ได้ เมื่อคุณมี ID ที่ถูกต้อง หากไม่แน่ใจเกี่ยวกับเส้นทางหรือขอบเขต ให้หยุดที่ขั้นตอนการทดลองใช้งาน และยืนยันทั้งสองอย่างกับโครงสร้างการกำหนดค่าการปรับใช้ของคุณ เอกสารระบุว่าโหมดการจับคู่รูปแบบไฟล์ (globbing) ทางเลือกอื่นๆ อาจเพิ่มการใช้งาน CPU และหน่วยความจำในพื้นที่ขนาดใหญ่ ควรใช้ค่าเริ่มต้นเว้นแต่คุณจะวัดได้ว่ามีความจำเป็นต้องเปลี่ยนแปลง
หากไม่มีรหัสผู้ใช้ ระบบversions:cleanupจะกำหนดเป้าหมายไปยังผู้ใช้ ownCloud Server ทุกราย
4. ตรวจสอบผลลัพธ์โดยไม่ต้องลบข้อมูลเพิ่มเติม
หลังจากทำการล้างข้อมูลเซิร์ฟเวอร์แล้ว ให้ตรวจสอบบัญชีผู้ใช้ตัวอย่างบางส่วนในเว็บอินเทอร์เฟซ และยืนยันว่ารายการเก่าๆ ไม่ปรากฏในประวัติเวอร์ชันของแต่ละไฟล์อีกต่อไป ตรวจสอบผลลัพธ์ของคำสั่งสำหรับผู้ใช้ที่ดำเนินการ สำหรับ Infinite Scale ให้เปรียบเทียบผลลัพธ์การล้างข้อมูลกับผลลัพธ์การทดสอบเบื้องต้น และตรวจสอบสถานะการเสร็จสิ้นของคำสั่ง จากนั้นตรวจสอบการใช้งานพื้นที่จัดเก็บข้อมูลในระดับที่สำคัญต่อการใช้งานของคุณ ได้แก่ การรายงานโควต้า ownCloud ระบบไฟล์ในเครื่อง หรือที่เก็บอ็อบเจ็กต์ที่กำหนดค่าไว้
อย่าลบไฟล์ด้วยตนเองเพื่อfiles_versions"เสร็จสิ้น" การล้างข้อมูล คำสั่งที่ ownCloud รองรับจะประสานการล้างเวอร์ชันกับเมตาเดตาของแอปพลิเคชัน การลบวัตถุจัดเก็บข้อมูลที่อยู่หลังแอปพลิเคชันอาจทำให้เกิดบันทึกที่ไม่สอดคล้องกัน นอกจากนี้ การเรียกคืนพื้นที่ดิสก์ของเซิร์ฟเวอร์อาจแตกต่างจากจำนวนเวอร์ชันที่ถูกลบ หากแบ็กเอนด์การจัดเก็บข้อมูลของคุณมีสแนปช็อต การจำลองแบบ หรือพฤติกรรมการลบแบบหน่วงเวลาของตัวเอง ส่วนนั้นขึ้นอยู่กับแบ็กเอนด์และต้องตรวจสอบกับผู้ดูแลระบบหรือผู้ให้บริการ
คุณควรเลือกตัวเลือกใด?
- เลือกตัวเลือกนี้
versions:expireเมื่อเป้าหมายของคุณคือการบริหารจัดการโควต้าอย่างต่อเนื่องโดยใช้กฎการเก็บรักษาข้อมูลที่มีอยู่ - เลือกตัวเลือก "จำกัดขอบเขต"
versions:cleanup USER_IDเมื่อคุณต้องการลบประวัติทั้งหมดสำหรับบัญชีที่รู้จัก และยอมรับการสูญเสียจุดคืนค่าแล้ว - เลือกตัวเลือก "ทั่วโลก
versions:cleanupเท่านั้น" เพื่อรีเซ็ตระบบทั้งหมดโดยตั้งใจ หลังจากทำการสำรองข้อมูลและตรวจสอบขอบเขตแล้ว - เลือกเวิร์กโฟลว์การล้างข้อมูลแบบ Infinite Scaleเฉพาะใน oCIS เท่านั้น และตรวจสอบการทดลองใช้งานเบื้องต้นก่อนตั้ง
--dry-run=falseค่า
เอกสารอ้างอิงอย่างเป็นทางการ: คู่มือคำสั่ง OCC ของ ownCloud Server , การกำหนดเวอร์ชันและการเก็บรักษาไฟล์ของ ownCloud Server , งานเบื้องหลังของ ownCloud Serverและ การ ล้างข้อมูลการแก้ไขของ Infinite Scale
หมายเหตุเกี่ยวกับเวอร์ชัน: พฤติกรรมของคำสั่งและตัวอย่างได้รับการตรวจสอบกับเอกสารประกอบของ ownCloud Server 10.16/11.0 และ Infinite Scale 8.2 เมื่อวันที่ 6 ตุลาคม 2026 โปรดตรวจสอบคู่มือที่ตรงกันสำหรับเวอร์ชันที่ติดตั้งของคุณก่อนดำเนินการใดๆ ที่มีผลทำลายข้อมูล