ตั้งค่านโยบายการหมดอายุที่เชื่อถือได้สำหรับไฟล์ที่ถูกลบใน Nextcloud

หากต้องการล้างไฟล์ที่ถูกลบใน Nextcloud โดยอัตโนมัติ ให้ตั้งค่าอายุการเก็บรักษาสูงสุด และตรวจสอบให้แน่ใจว่างานเบื้องหลังของ Nextcloud ทำงานตามกำหนดเวลา ตัวอย่างเช่น ตั้งค่าtrashbin_retention_obligationให้auto, 30ลบรายการที่เก่ากว่า 30 วันโดยอัตโนมัติ จากนั้นเรียกใช้ cron ของระบบที่ Nextcloud แนะนำทุกๆ ห้านาทีautoนโยบายเริ่มต้นเพียงอย่างเดียวไม่ได้รับประกันว่าจะลบไฟล์ได้ทันทีในวันที่ 30

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

โดยค่าเริ่มต้น Nextcloud จะล้างข้อมูลอะไรบ้าง?

เอกสารสำหรับผู้ดูแลระบบของ Nextcloud 35 อธิบายautoว่า ระบบจะเก็บรายการที่ถูกลบไว้อย่างน้อย 30 วัน จากนั้นจะอนุญาตให้ลบออกได้หากต้องการพื้นที่จัดเก็บข้อมูลเพิ่ม หากไม่ต้องการพื้นที่เพิ่ม รายการเหล่านั้นอาจยังคงอยู่เกิน 30 วัน พฤติกรรมนี้ทำให้ถังขยะเป็นพื้นที่สำหรับกู้คืนข้อมูล ไม่ใช่ตัวจับเวลาการลบ 30 วันอย่างเคร่งครัด

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

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

กำหนดอายุสูงสุดสำหรับไฟล์ที่ถูกลบ

เรียกใช้งานoccจากไดเร็กทอรีการติดตั้ง Nextcloud และใช้ผู้ใช้ HTTP เพื่อให้สิทธิ์การเข้าถึงไฟล์สอดคล้องกัน บน Debian หรือ Ubuntu ผู้ใช้ดังกล่าวโดยทั่วไปคือ `http:// localhost www-data:800` และเส้นทางการติดตั้งมักจะเป็น ` http /var/www/nextcloud://localhost:800` แทนที่ด้วยผู้ใช้และเส้นทางจริงของคุณบนระบบอื่นๆ หรือในคอนเทนเนอร์

cd /var/www/nextcloud
sudo -E -u www-data php occ config:system:set trashbin_retention_obligation --value='auto, 30'
คำสั่งในเทอร์มินัลจะตั้งค่า trashbin_retention_obligation เป็น auto, 30 โดยจะมีข้อความแสดงผลยืนยันค่าการกำหนดค่าของระบบ
กำหนดอายุสูงสุด 30 วัน โดยใช้ค่านโยบายการเก็บรักษาข้อมูลอัตโนมัติเป็น 30

การตั้งค่านี้จะถูกบันทึกไว้ในการกำหนดค่าระบบของ Nextcloud หากต้องการตรวจสอบค่าที่ใช้งานอยู่ ให้เรียกใช้คำสั่ง:

sudo -E -u www-data php occ config:system:get trashbin_retention_obligation

ผลลัพธ์ควรแสดงauto, 30. หากคุณต้องการนโยบายอื่น ให้ใช้ตารางด้านบนและป้อนค่าลงไปแทน30, 90ตัวเลือกนี้มีจุดประสงค์เพื่อเก็บรายการไว้อย่างน้อย 30 วันและลบออกหลังจาก 90 วัน การบังคับใช้โควต้าอาจบังคับให้ลบข้อมูลเร็วกว่านั้นได้

ตรวจสอบให้แน่ใจว่ากระบวนการทำงานเบื้องหลังดำเนินไปอย่างน่าเชื่อถือ

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

ตั้งค่า Nextcloud ให้ทำงานในโหมด cron:

sudo -E -u www-data php occ background:cron
เมื่อเปิดเทอร์มินัล ให้รันคำสั่ง occ background:cron แล้วแสดงผลลัพธ์ว่างานเบื้องหลังถูกตั้งค่าเป็นโหมด cron แล้ว
เปลี่ยน Nextcloud เป็นโหมด cron เพื่อให้งานที่ทำงานเบื้องหลังตามกำหนดเวลาไม่ขึ้นอยู่กับการที่ผู้ใช้เปิดเว็บไซต์

จากนั้นแก้ไข crontab ของผู้ใช้เว็บเซิร์ฟเวอร์ บนระบบ Debian หรือ Ubuntu ทั่วไป:

sudo crontab -u www-data -e

เพิ่มบรรทัดนี้ โดยเปลี่ยนพาธของไฟล์ปฏิบัติการ PHP หรือ Nextcloud หากการติดตั้งของคุณใช้ตำแหน่งที่แตกต่างกัน:

*/5 * * * * php -f /var/www/nextcloud/cron.php
โปรแกรมแก้ไข crontab เฉพาะผู้ใช้จะมีบรรทัดสำหรับเรียกใช้ไฟล์ /var/www/nextcloud/cron.php ทุกห้านาที
ตั้งค่า cron.php ภายใต้ผู้ใช้ HTTP แทนที่เส้นทาง Nextcloud ในตัวอย่างด้วยเส้นทางการติดตั้งของคุณ

กำหนดการนี้จะเรียกใช้งานโปรแกรมทำงานเบื้องหลังของ Nextcloud ทุกๆ ห้านาที โดยแต่ละงานจะมีกำหนดการของตัวเอง สำหรับการใช้งานในคอนเทนเนอร์ ให้ใช้บริการ cron หรือโปรแกรมทำงานตามกำหนดเวลาที่ระบุไว้สำหรับการใช้งานนั้น และเรียกใช้งานcron.phpในฐานะผู้ใช้เว็บของ Nextcloud อย่าเพิ่มงานที่สองโดยไม่จำเป็น หากอิมเมจหรือแพลตฟอร์มของคุณใช้งานอยู่แล้ว

จะตรวจสอบวันหมดอายุอย่างปลอดภัยได้อย่างไร?

ขั้นแรก ตรวจสอบทั้งนโยบายและงานที่กำหนดไว้ ตรวจสอบนโยบายด้วยคำสั่งocc config:system:get trashbin_retention_obligationจากนั้นแสดงรายการงานที่กำหนดไว้:

sudo crontab -u www-data -l
หน้าจอเทอร์มินัลแสดงค่าการทำงานอัตโนมัติ ค่าการเก็บรักษาข้อมูล 30 และรายการ cron ห้านาทีสำหรับ cron.php
ตรวจสอบค่าการเก็บรักษาที่บันทึกไว้และยืนยันว่าผู้ใช้เว็บเซิร์ฟเวอร์มีรายการ cron.php ที่เกิดขึ้นซ้ำแล้ว

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

สำหรับการทดสอบครั้งเดียวด้วยนโยบายการเก็บรักษาข้อมูลแบบกำหนดเอง ให้เรียกใช้คำสั่งที่รองรับการเก็บรักษาข้อมูล:

sudo -E -u www-data php occ trashbin:expire --quiet

ใน Nextcloud เวอร์ชันปัจจุบันtrashbin:expireจะใช้ระยะเวลาการเก็บรักษาที่กำหนดไว้ ตามautoนโยบายเริ่มต้น คำสั่งจะสิ้นสุดการทำงานโดยไม่ทำให้รายการหมดอายุ การหมดอายุอัตโนมัติเริ่มต้นจะถูกจัดการโดยงานเบื้องหลัง อย่าใช้ คำสั่งอื่นแทน trashbin:cleanup --all-usersเพราะคำสั่งนั้นจะลบถังขยะทั้งหมดสำหรับผู้ใช้ทุกคนอย่างถาวร โดยไม่คำนึงถึงอายุ และไม่ใช่การตั้งค่าการเก็บรักษาตามปกติ

รายการตรวจสอบการยืนยันอย่างรวดเร็ว

  • นโยบายที่ใช้งานอยู่ซึ่งส่งคืนมานั้นocc config:system:get trashbin_retention_obligationตรงกับช่วงเวลาการเก็บรักษาที่คุณกำหนดไว้
  • งานเบื้องหลังของ Nextcloud ถูกตั้งค่าให้ใช้ Cron และ crontab ของผู้ใช้เว็บเซิร์ฟเวอร์มีcron.phpเส้นทาง ที่ถูกต้องอยู่แล้ว
  • เวลาในการดำเนินการงานครั้งล่าสุดจะถูกปรับเพิ่มในการตั้งค่าการดูแลระบบ
  • รายการทดสอบเก่าที่เกินอายุสูงสุดจะหายไปหลังจากกระบวนการทำงานเบื้องหลังเสร็จสิ้น ในขณะที่รายการใหม่กว่าจะยังคงอยู่ เว้นแต่ว่าพื้นที่จัดเก็บหรือโควต้าจะจำกัดจนต้องทำการล้างข้อมูล

หากเวลาการดำเนินการครั้งล่าสุดไม่เปลี่ยนแปลง ให้ตรวจสอบปัญหาของระบบ cron, เส้นทาง PHP CLI, ผู้ใช้เว็บเซิร์ฟเวอร์ และเส้นทาง Nextcloud ก่อนที่จะเปลี่ยนค่าการเก็บรักษา นโยบายที่ถูกต้องไม่สามารถล้างข้อมูลใดๆ ได้หากตัวเรียกใช้งานเบื้องหลังไม่เคยทำงานเลย

เอกสารอย่างเป็นทางการ

ฝากความเห็น

ตั้งค่านโยบายการหมดอายุที่เชื่อถือได้สำหรับไฟล์ที่ถูกลบใน Nextcloud

ตั้งค่านโยบายการหมดอายุที่เชื่อถือได้สำหรับไฟล์ที่ถูกลบใน Nextcloud

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

ล้างคำเตือนเกี่ยวกับดัชนีฐานข้อมูลที่หายไปของ Nextcloud

ล้างคำเตือนเกี่ยวกับดัชนีฐานข้อมูลที่หายไปของ Nextcloud

เรียกใช้ฟังก์ชันซ่อมแซม OCC ของ Nextcloud อย่างปลอดภัย ดูตัวอย่างการเปลี่ยนแปลงฐานข้อมูล และตรวจสอบว่าเหตุใดคำเตือนจึงยังคงปรากฏอยู่

เพิ่มขีดจำกัดการอัปโหลดเว็บของ Nextcloud ให้เกิน 2 GB

เพิ่มขีดจำกัดการอัปโหลดเว็บของ Nextcloud ให้เกิน 2 GB

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

ล้างคำเตือนหน่วยความจำ PHP ของ Nextcloud บนเว็บเซิร์ฟเวอร์

ตั้งค่าขีดจำกัดหน่วยความจำ PHP ที่ Nextcloud ใช้จริง รีสตาร์ทบริการที่ถูกต้อง และยืนยันการตั้งค่า 512 MB ในภาพรวมผู้ดูแลระบบ

เชื่อมต่อ Bucket ที่เข้ากันได้กับ S3 กับพื้นที่จัดเก็บข้อมูลภายนอกของ Nextcloud

เชื่อมต่อบัคเก็ตจัดเก็บข้อมูลแบบอ็อบเจ็กต์ที่เข้ากันได้ใน Nextcloud โดยใช้แบ็กเอนด์ S3 พร้อมด้วยเอนด์พอยต์ ข้อมูลรับรอง ขอบเขตการเข้าถึง และขั้นตอนการตรวจสอบที่ถูกต้อง

ย้ายข้อมูล Nextcloud ไปยังไดรฟ์ภายนอกโดยไม่ทำให้พื้นที่จัดเก็บข้อมูลเสียหาย

ย้ายข้อมูล Nextcloud ไปยังไดรฟ์ภายนอกโดยไม่ทำให้พื้นที่จัดเก็บข้อมูลเสียหาย

ย้ายไดเร็กทอรีข้อมูล Nextcloud บน Linux ไปยังไดรฟ์ภายนอกอย่างปลอดภัย โดยใช้การเมานต์ UUID แบบถาวร โหมดบำรุงรักษา สำเนาที่ตรวจสอบแล้ว และซิมลิงก์เส้นทางเดิม

ข้อผิดพลาดฐานข้อมูล Nextcloud หลังจากการอัปเดต: ควรตรวจสอบอะไรก่อน

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

รีเซ็ตรหัสผ่านผู้ดูแลระบบ Nextcloud ที่ลืมไปโดยใช้ OCC

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

เพิ่มส่วนหัว HSTS ที่ปลายทาง HTTPS ที่ให้บริการ Nextcloud

ล้างคำเตือน HSTS ของ Nextcloud โดยการตั้งค่าส่วนหัวที่ Apache, NGINX หรือพร็อกซี TLS ของคุณ จากนั้นตรวจสอบการตอบสนอง HTTPS สาธารณะอย่างปลอดภัย

แก้ไขปัญหาการติดตั้งแอป Nextcloud ที่แจ้งว่าไม่มีการเชื่อมต่ออินเทอร์เน็ต

แก้ไขปัญหาการติดตั้งแอป Nextcloud ที่แจ้งว่าไม่มีการเชื่อมต่ออินเทอร์เน็ต

ตรวจสอบหาสาเหตุของการติดตั้งแอปจาก App Store ที่ล้มเหลว ไม่ว่าจะเป็นปัญหาจาก DNS, HTTPS, พร็อกซี, TLS หรือปัญหาการตั้งค่าจากเซิร์ฟเวอร์ Nextcloud เอง